native 0.0.1
Vectors, masks and wide register packs for C++26
Loading...
Searching...
No Matches
Inlining Control

attributes that control inlining behavior More...

Collaboration diagram for Inlining Control:

Macros

#define native_inline   inline
 inline [[always_inline]]
#define native_flatten
 portable [[flatten]]
#define native_artificial
 [[artificial]].
#define native_noinline
 [[noinline]]
#define native_optnone
 [[optnone]]

Detailed Description

attributes that control inlining behavior

Macro Definition Documentation

◆ native_artificial

#define native_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.

Definition at line 245 of file attributes.h.

◆ native_flatten

#define native_flatten

portable [[flatten]]

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

Definition at line 228 of file attributes.h.

◆ native_noinline

#define native_noinline

[[noinline]]

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

Definition at line 260 of file attributes.h.

◆ native_optnone

#define native_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!)

Definition at line 275 of file attributes.h.