I explicitly inline code with the following attribute 

#define _INLINE_ static inline __attribute__((always_inline))

For my medium size project (lots of menus/graphics/various sensors and serial 
port devices)

1) -no-inline-small-function    - 69034
2) --param inline-call-cost=2   - 68964
3) -fno-inline                  - 68816
4) -finline-limit=10            - 68810
5) #2 & #4                      - 68754 
6) -finline-limit=3             - 68754 (same results for 1,2 and 3)

Since I am generally not too concerned about overall speed I prefer small size 
and explicit _INLINE_ where I deem appropriate... Usually the speed I am 
worried about is how long it takes to download another version while debugging 
:)

Anyway, thanks for the pointers and I am glad I spent 20 minutes trying them 
out!

Cheers!

-----Original Message-----
From: avr-gcc-list-bounces+larry=barello....@nongnu.org 
[mailto:avr-gcc-list-bounces+larry=barello....@nongnu.org] On Behalf Of Ruud 
Vlaming
Sent: Monday, February 16, 2009 6:40 AM
To: avr-gcc-list@nongnu.org
Subject: Re: [avr-gcc-list] Code optimistaion in AVR Tiny13

On Monday 16 February 2009 15:11, Robert von Knobloch wrote:

> On inspection I find that the compiler has 'in-lined' at least 3
> function calls that I had written as a function to achieve compactness.
> Is there any way I can stop this, or is this a bug?

There has been some discussions about this before. After trying many
different optimization settings i concluded that
  --param inline-call-cost=2 
is -overall- the best setting for small projects. However, if you need to 
minimize just one app, further reduction might be possible. 
For example with things like:
  -fno-inline-small-functions 
  -fno-split-wide-types 
  -fno-tree-scev-cprop 

Also, you can prohibit the compiler to inline on a function by function basis.

Just to be sure you have no dead code around, include:
  -ffunction-sections -Wl,--gc-sections -Wl,--relax

Ruud.



_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list




_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to