Re: Do not spill variables/registers on the stack

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

 



* David Brown <david@xxxxxxxxxxxxxxx> wrote:

> No, it's a hint - but one that gcc will take seriously and do its best 
> to honour (at -O0).  The compiler cannot guarantee that it will be able 
> to put the data into a register - there are many things that could keep 
> it out of the register, including register pressure and the way the data 
> is used.  The text says that with -O0 gcc will put all non-register 
> variables on the stack - that does /not/ imply that it will put all 
> register variables in registers.

What does the ANSI C spec say about the "register" keyword ?

Does GCC issue some warning when it fails to put such a variable
directly into a register ?

Is it that keyword still useful at all on todays compilers ?


I'm not really experienced at that low level, but i can imagine 
scenarios where it's essential to keep certain things in registers
(eg. when there's no valid stack), so the compiler should issue
a warning (which can be made fatal w/ -Werror) in those cases.



cu
-- 
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@xxxxxxxx
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux