avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: [avr-gcc-list] Wrong excution order in 4.1.1, but not 3.4.5, regress


From: Haase Bjoern (PT-BEU/EMT)
Subject: AW: [avr-gcc-list] Wrong excution order in 4.1.1, but not 3.4.5, regression?
Date: Wed, 21 Feb 2007 13:29:00 +0100

Joerg Wunsch wrote
>I agree though that it's an optimization regression that GCC 4.x even
>inlines these function calls at all, as inlining a function that is
>being called more than once will generate larger code than minimally
>necessary, so it violates the objective of -Os (to include only those
>level 2 optimizations that won't increase the code size).  I filed a
>bug report for this, after verifying it's still the same for the code
>on GCC's trunk.
>
>http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30908

IMO, the situation is not so clear. Frequently, inlining functions is *more* 
code efficient because the calling function possibly does not need to add code 
for saving registers. Possibly this decision determines if the caller needs a 
frame pointer or not. 
Whether or not to inline code is a difficult decision and I am convinced that 
it is generally useful that even -Os inlines (tiny!) functions.

Yours,

Björn. 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]