The tracking issue for this feature is: #102921.
Enable generation of NOP sleds for XRay function tracing instrumentation. For more information on XRay, read LLVM documentation, and/or the XRay whitepaper.
-Z instrument-xray compiler flag in order to enable XRay instrumentation.
-Z instrument-xray– use the default settings
-Z instrument-xray=skip-exit– configure a custom setting
-Z instrument-xray=ignore-loops,instruction-threshold=300– multiple settings separated by commas
always– force instrumentation of all functions
never– do no instrument any functions
ignore-loops– ignore presence of loops, instrument functions based only on instruction count
instruction-threshold=10– set a different instruction threshold for instrumentation
skip-entry– do no instrument function entry
skip-exit– do no instrument function exit
The default settings are:
- instrument both entry & exit from functions
- instrument functions with at least 200 instructions, or containing a non-trivial loop
-Z instrument-xray only enables generation of NOP sleds
which on their own don't do anything useful.
In order to actually trace the functions,
you will need to link a separate runtime library of your choice,
such as Clang's XRay Runtime Library.