DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(gcc.info) Explicit Reg Vars

Info Catalog (gcc.info) Asm Labels (gcc.info) C Extensions (gcc.info) Alternate Keywords
 
 Variables in Specified Registers
 ================================
 
    GNU C allows you to put a few global variables into specified
 hardware registers.  You can also specify the register in which an
 ordinary register variable should be allocated.
 
    * Global register variables reserve registers throughout the program.
      This may be useful in programs such as programming language
      interpreters which have a couple of global variables that are
      accessed very often.
 
    * Local register variables in specific registers do not reserve the
      registers.  The compiler's data flow analysis is capable of
      determining where the specified registers contain live values, and
      where they are available for other uses.  Stores into local
      register variables may be deleted when they appear to be dead
      according to dataflow analysis.  References to local register
      variables may be deleted or moved or simplified.
 
      These local variables are sometimes convenient for use with the
      extended `asm' feature ( Extended Asm.), if you want to
      write one output of the assembler instruction directly into a
      particular register.  (This will work provided the register you
      specify fits the constraints specified for that operand in the
      `asm'.)
 

Menu

 
* Global Reg Vars
* Local Reg Vars
 
Info Catalog (gcc.info) Asm Labels (gcc.info) C Extensions (gcc.info) Alternate Keywords
automatically generated byinfo2html