LLVM 18.0.0git
|
Instrumentation based profiling lowering pass. More...
#include "llvm/Transforms/Instrumentation/InstrProfiling.h"
Public Member Functions | |
InstrProfiling () | |
InstrProfiling (const InstrProfOptions &Options, bool IsCS=false) | |
PreservedAnalyses | run (Module &M, ModuleAnalysisManager &AM) |
bool | run (Module &M, std::function< const TargetLibraryInfo &(Function &F)> GetTLI) |
![]() | |
void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
Additional Inherited Members | |
![]() | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
Instrumentation based profiling lowering pass.
This pass lowers the profile instrumented code generated by FE or the IR based instrumentation pass.
Definition at line 34 of file InstrProfiling.h.
|
inline |
Definition at line 36 of file InstrProfiling.h.
|
inline |
Definition at line 37 of file InstrProfiling.h.
References Options.
PreservedAnalyses InstrProfiling::run | ( | Module & | M, |
ModuleAnalysisManager & | AM | ||
) |
Definition at line 403 of file InstrProfiling.cpp.
References llvm::PreservedAnalyses::all(), F, FAM, llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::PreservedAnalyses::none(), and run().
Referenced by run().
bool InstrProfiling::run | ( | Module & | M, |
std::function< const TargetLibraryInfo &(Function &F)> | GetTLI | ||
) |
Definition at line 531 of file InstrProfiling.cpp.
References llvm::BasicBlock::begin(), containsProfilingIntrinsics(), E, llvm::BasicBlock::end(), F, llvm::getCoverageUnusedNamesVarName(), I, and needsRuntimeHookUnconditionally().