Hint 0.1.0
Loading...
Searching...
No Matches
Macros
Inlining Control

attributes that control inlining behavior More...

Macros

#define hint_inline   inline
 inline [[always_inline]]
 
#define hint_flatten
 portable [[flatten]]
 
#define hint_artificial
 [[artificial]].
 
#define hint_noinline
 [[noinline]]
 
#define hint_optnone
 [[optnone]]
 

Detailed Description

attributes that control inlining behavior

Macro Definition Documentation

◆ hint_artificial

#define hint_artificial

[[artificial]].

The debugger should not single-step into this function. Treat it as atomic and associate it with the debug information for the use site instead.

◆ hint_flatten

#define hint_flatten

portable [[flatten]]

the compiler should inline recursively aggressively under this definition. use with care, good for expression templates

◆ hint_noinline

#define hint_noinline

[[noinline]]

Indicates that the inliner should avoid inlining this function at usage sites

◆ hint_optnone

#define hint_optnone

[[optnone]]

Used to indicate that regardless of optimization level, you shouldn't optimize this one function. Useful for local debugging when you can't disable optimization for the entire build. (e.g. ours!)