4.8 Hints
-  The extent to which suggestions made by using the 
registerstorage-class specifier are effective (C90 6.5.1, C99 and C11 6.7.1).The
registerspecifier affects code generation only in these ways:- When used as part of the register variable extension, see Explicit Register Variables.
 -  When -O0 is in use, the compiler allocates distinct stack memory for all variables that do not have the 
registerstorage-class specifier; ifregisteris specified, the variable may have a shorter lifespan than the code would indicate and may never be placed in memory. -  On some rare x86 targets, 
setjmpdoesn’t save the registers in all circumstances. In those cases, GCC doesn’t allocate any variables in registers unless they are markedregister. 
 -  The extent to which suggestions made by using the inline function specifier are effective (C99 and C11 6.7.4). 
GCC will not inline any functions if the -fno-inline option is used or if -O0 is used. Otherwise, GCC may still be unable to inline a function for many reasons; the -Winline option may be used to determine if a function has not been inlined and why not.
 
    © Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
    https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Hints-implementation.html