Go to the documentation of this file.
24 #define DEBUG_TYPE "lazy-block-freq"
27 "Lazy Block Frequency Analysis",
true,
true)
40 LBFI.getCalculated().print(OS);
56 auto &BPIPass = getAnalysis<LazyBranchProbabilityInfoPass>();
57 LoopInfo &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo();
58 LBFI.setAnalysis(&
F, &BPIPass, &LI);
void initializeLazyBFIPassPass(PassRegistry &Registry)
Helper for client passes to initialize dependent passes for LBFI.
This is an optimization pass for GlobalISel generic memory operations.
void releaseMemory() override
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memo...
bool runOnFunction(Function &F) override
runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.
INITIALIZE_PASS_BEGIN(LazyBlockFrequencyInfoPass, DEBUG_TYPE, "Lazy Block Frequency Analysis", true, true) INITIALIZE_PASS_END(LazyBlockFrequencyInfoPass
static void getLazyBFIAnalysisUsage(AnalysisUsage &AU)
Helper for client passes to set up the analysis usage on behalf of this pass.
The legacy pass manager's analysis pass to compute loop information.
Lazy Block Frequency true
This is an alternative analysis pass to BlockFrequencyInfoWrapperPass.
void print(raw_ostream &OS, const Module *M) const override
print - Print out the internal state of the pass.
static PassRegistry * getPassRegistry()
getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...
Represent the analysis usage information of a pass.
static void getLazyBPIAnalysisUsage(AnalysisUsage &AU)
Helper for client passes to set up the analysis usage on behalf of this pass.
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
Legacy analysis pass which computes a DominatorTree.
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
This class implements an extremely fast bulk output stream that can only output to a stream.
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
#define INITIALIZE_PASS_END(passName, arg, name, cfg, analysis)
INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
void initializeLazyBPIPassPass(PassRegistry &Registry)
Helper for client passes to initialize dependent passes for LBPI.
A Module instance is used to store all the information related to an LLVM module.
void setPreservesAll()
Set by analyses that do not transform their input at all.
void initializeLazyBlockFrequencyInfoPassPass(PassRegistry &)
A global registry used in conjunction with static constructors to make pluggable components (like tar...
AnalysisUsage & addRequiredTransitive()
FunctionPass class - This class is used to implement most global optimizations.