15#ifndef LLVM_TRANSFORMS_INSTRUMENTATION_PGOINSTRUMENTATION_H
16#define LLVM_TRANSFORMS_INSTRUMENTATION_PGOINSTRUMENTATION_H
45 bool Sampling =
false)
46 : CSInstrName(CSInstrName), ProfileSampling(Sampling) {}
50 std::string CSInstrName;
60 : InstrumentationType(InstrumentationType) {}
73 std::string RemappingFilename =
"",
bool IsCS =
false,
79 std::string ProfileFileName;
80 std::string ProfileRemappingFileName;
90 : InLTO(IsInLTO), SamplePGO(SamplePGO) {}
This header defines various interfaces for pass management in LLVM.
This file defines the RefCountedBase, ThreadSafeRefCountedBase, and IntrusiveRefCntPtr classes.
ModuleAnalysisManager MAM
Defines the virtual file system interface vfs::FileSystem.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCount...
A Module instance is used to store all the information related to an LLVM module.
PGOInstrumentationGenCreateVar(std::string CSInstrName="", bool Sampling=false)
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
PGOInstrumentationGen(PGOInstrumentationType InstrumentationType=PGOInstrumentationType ::FDO)
LLVM_ABI PGOInstrumentationUse(std::string Filename="", std::string RemappingFilename="", bool IsCS=false, IntrusiveRefCntPtr< vfs::FileSystem > FS=nullptr)
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &MAM)
PGOMemOPSizeOpt()=default
A set of analyses that are preserved following a run of a transformation pass.
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI void setIrrLoopHeaderMetadata(Module *M, Instruction *TI, uint64_t Count)
LLVM_ABI void setProfMetadata(Instruction *TI, ArrayRef< uint64_t > EdgeCounts, uint64_t MaxCount)
LLVM_ABI cl::opt< bool > DebugInfoCorrelate
FunctionAddr VTableAddr Count
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
A CRTP mix-in to automatically provide informational APIs needed for passes.