gcc: Hints implementation
1
1 4.8 Hints
1 =========
1
1 * 'The extent to which suggestions made by using the 'register'
1 storage-class specifier are effective (C90 6.5.1, C99 and C11
1 6.7.1).'
1
1 The 'register' specifier affects code generation only in these
1 ways:
1
1 * When used as part of the register variable extension, see
1 ⇒Explicit Register Variables.
1
1 * When '-O0' is in use, the compiler allocates distinct stack
1 memory for all variables that do not have the 'register'
1 storage-class specifier; if 'register' is specified, the
1 variable may have a shorter lifespan than the code would
1 indicate and may never be placed in memory.
1
1 * On some rare x86 targets, 'setjmp' doesn't save the registers
1 in all circumstances. In those cases, GCC doesn't allocate
1 any variables in registers unless they are marked 'register'.
1
1 * 'The extent to which suggestions made by using the inline function
1 specifier are effective (C99 and C11 6.7.4).'
1
1 GCC will not inline any functions if the '-fno-inline' option is
1 used or if '-O0' is used. Otherwise, GCC may still be unable to
1 inline a function for many reasons; the '-Winline' option may be
1 used to determine if a function has not been inlined and why not.
1