Re: [Tack-devel] Assembler and linker
Moved to https://github.com/davidgiven/ack
Brought to you by:
dtrg
From: David G. <dg...@co...> - 2022-10-29 00:05:33
|
On Fri, 28 Oct 2022 at 19:31, Sorav Bansal via Tack-devel < tac...@li...> wrote: > Thanks a lot George for this detailed information --- this is very > helpful. Yes I was able to link multiple object files using the > instructions in your note. > > One more question: I see that the ACK compiler supports optimization > levels O0-O6. Which of these levels do what transformations? Does ACK > support inter-procedural optimizations? Any documentation you would like > to point towards for this type of information? > The main optimiser is a tool called ego, which is described in detail in the whitepaper here: https://tack.sourceforge.net/olddocs.html Which optimisations are invoked are described the man page for ack itself ('man ack' from your command line, assuming it's been installed properly). ego does claim to do global optimisations, but in practice it's not great. This could be because it expects to be see all the files of the program and the common workflow where you use ack -c to compile one file at a time doesn't do this --- ego works on EM bytecode rather than native machine code. There's also a peephole optimiser called top, which can perform simple optimisations on native machine code. |