Visible to Intel only — GUID: GUID-1FD1659E-CF0E-4CC5-8DC3-0D9510250F61
Visible to Intel only — GUID: GUID-1FD1659E-CF0E-4CC5-8DC3-0D9510250F61
finstrument-functions, Qinstrument-functions
Determines whether function entry and exit points are instrumented.
Syntax
Linux: |
-finstrument-functions -fno-instrument-functions |
macOS: |
-finstrument-functions -fno-instrument-functions |
Windows: |
/Qinstrument-functions /Qinstrument-functions- |
Arguments
None
Default
-fno-instrument-functions |
Function entry and exit points are not instrumented. |
Description
This option determines whether function entry and exit points are instrumented. It may increase execution time.
The following profiling functions are called with the address of the current function and the address of where the function was called (its "call site"):
This function is called upon function entry:
void __cyg_profile_func_enter (void *this_fn,
void *call_site);
This function is called upon function exit:
void __cyg_profile_func_exit (void *this_fn,
void *call_site);
These functions can be used to gather more information, such as profiling information or timing information. Note that it is the user's responsibility to provide these profiling functions.
If you specify -finstrument-functions (Linux* and macOS) or /Qinstrument-functions (Windows*), function inlining is disabled. If you specify -fno-instrument-functions or /Qinstrument-functions-, inlining is not disabled.
On Linux and macOS systems, you can use the following attribute to stop an individual function from being instrumented:
__attribute__((__no_instrument_function__))
It also stops inlining from being disabled for that individual function.
This option is provided for compatibility with gcc.
IDE Equivalent
Alternate Options
None