I am performing compiler optimization by changing the optimization level from 'None' to 'High' and using the 'Size' option, but without enabling any of the additional checkboxes (like function inlining, loop unrolling, etc.). Despite that, my code size reduces by up to 30%. What exactly does the compiler do behind the scenes to achieve this size reduction, even though I haven’t selected any of the additional optimization options?
I cannot comment on IAR products. Please contact them directly.
My first response applies to Arm Compiler for Embedded (as provided with Arm Development Studio and Keil MDK).