I know we'd find something like that really handy for some of the
embedded stuff we're doing.

There's the case where we'd like to have the files of a subsystem to
be optimized but we want a handful of functions that directly access
hardware be unoptimized.  (We found that the optimization did some
write reordering that the hardware didn't like.  ;) )


-Kelly Murphy

On Apr 1, 2005 8:05 AM, Andi Kleen <[EMAIL PROTECTED]> wrote:
> Dale Johannesen <[EMAIL PROTECTED]> writes:
> 
> > I've currently got the job of implementing pragma(s) to change
> > optimization level in the middle of a file.  This has come up a few
> > times before,
> 
> Would it be possible to make it a function attribute? I would
> really like to have
> 
> void __attribute__((optimization("Os"))) slow_init_function(void)
> {
> }
> 
> to let slow_init_function be compiled as space efficient as possible.
> 
> I think that would be very useful for the Linux kernel at least.
> There is already a __init modifier for functions that ought to be
> freed after initialization and it would be nice to just add a one
> liner to make them smaller too.
> 
> In addition letting the compiler do that automatically based
> on profile feedback for "cold" functions would be very cool.
> 
> -Andi
>

Reply via email to