When I file a bug against GCC about a missed optimization, I am always at a loss whether I should file it under "rtl-optimizations" or "tree-optimizations". I looked at the components page on the GCC bugzilla, and it isn't really explained there.
So, what are these two kinds of optimizations, or rather what distinguishes between them?
Partial answer:
The distinction has to do with different internal representations of (semi-compiled) programs within the GCC compiler. This is actually a rather complex issue, but for the purposes of this question:
That being said, I haven't given an easy rule-of-thumb for distinguishing which optimizations belong where.
For a lot more information, you might want to read the GCC internals guide, where I've found the lists of optimization passes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With