13#ifndef LLVM_CODEGEN_MACHINEBRANCHPROBABILITYINFO_H
14#define LLVM_CODEGEN_MACHINEBRANCHPROBABILITYINFO_H
30 static const uint32_t DEFAULT_WEIGHT = 16;
81 virtual void anchor();
API to communicate dependencies between analyses during invalidation.
A container for analyses that lazily runs them and caches their results.
Represent the analysis usage information of a pass.
void setPreservesAll()
Set by analyses that do not transform their input at all.
ImmutablePass class - This class is used to provide information that does not need to be run.
SmallVectorImpl< MachineBasicBlock * >::const_iterator const_succ_iterator
Result run(MachineFunction &, MachineFunctionAnalysisManager &)
MachineBranchProbabilityInfo & getMBPI()
const MachineBranchProbabilityInfo & getMBPI() const
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
MachineBranchProbabilityInfoWrapperPass()
raw_ostream & printEdgeProbability(raw_ostream &OS, const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const
bool invalidate(MachineFunction &, const PreservedAnalyses &PA, MachineFunctionAnalysisManager::Invalidator &)
bool isEdgeHot(const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const
BranchProbability getEdgeProbability(const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const
MachineBranchProbabilityPrinterPass(raw_ostream &OS)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
A set of analyses that are preserved following a run of a transformation pass.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
A CRTP mix-in that provides informational APIs needed for analysis passes.
A special type used by analysis passes to provide an address that identifies that particular analysis...
A CRTP mix-in to automatically provide informational APIs needed for passes.