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.
Machine Check Debug Module
ModuleAnalysisManager MAM
Defines the virtual file system interface vfs::FileSystem.
A container for analyses that lazily runs them and caches their results.
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.
The instrumentation (profile-instr-gen) pass for IR based PGO.
PGOInstrumentationGenCreateVar(std::string CSInstrName="", bool Sampling=false)
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
The instrumentation (profile-instr-gen) pass for IR based PGO.
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
PGOInstrumentationGen(PGOInstrumentationType InstrumentationType=PGOInstrumentationType ::FDO)
The profile annotation (profile-instr-use) pass for IR based PGO.
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
The profile size based optimization pass for memory intrinsics.
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &MAM)
PGOMemOPSizeOpt()=default
A set of analyses that are preserved following a run of a transformation pass.
template class LLVM_TEMPLATE_ABI opt< bool >
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
A CRTP mix-in to automatically provide informational APIs needed for passes.