15#ifndef LLVM_TRANSFORMS_INSTRUMENTATION_PGOINSTRUMENTATION_H
16#define LLVM_TRANSFORMS_INSTRUMENTATION_PGOINSTRUMENTATION_H
47 bool Sampling =
false)
48 : CSInstrName(CSInstrName), ProfileSampling(Sampling) {}
52 std::string CSInstrName;
62 : InstrumentationType(InstrumentationType) {}
74 std::string RemappingFilename =
"",
bool IsCS =
false,
80 std::string ProfileFileName;
81 std::string ProfileRemappingFileName;
91 : 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
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)
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
The instrumentation (profile-instr-gen) pass for IR based PGO.
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
PGOInstrumentationGen(PGOInstrumentationType InstrumentationType=PGOInstrumentationType ::FDO)
The profile annotation (profile-instr-use) pass for IR based PGO.
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM)
The profile size based optimization pass for memory intrinsics.
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.
void setIrrLoopHeaderMetadata(Module *M, Instruction *TI, uint64_t Count)
cl::opt< bool > DebugInfoCorrelate
void setProfMetadata(Module *M, Instruction *TI, ArrayRef< uint64_t > EdgeCounts, uint64_t MaxCount)
A CRTP mix-in to automatically provide informational APIs needed for passes.