13#ifndef LLVM_TRANSFORMS_INSTRUMENTATION_INSTRPROFILING_H
14#define LLVM_TRANSFORMS_INSTRUMENTATION_INSTRPROFILING_H
33 const bool IsCS =
false;
38 : Options(Options), IsCS(IsCS) {}
This header defines various interfaces for pass management in LLVM.
InstrProfilingLoweringPass()=default
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
InstrProfilingLoweringPass(const InstrProfOptions &Options, bool IsCS=false)
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
Provides information about what library functions are available for the current target.
This namespace contains all of the command line option processing machinery.
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI bool isProfileCorrelationEnabled(const cl::LibraryOptionsContext &LibraryOptions)
Return true if -profile-correlate is set.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
Options for the frontend instrumentation based profiling pass.
A CRTP mix-in for passes that can be skipped.