diff options
author | Jakub Staszak <kubastaszak@gmail.com> | 2011-12-20 20:03:10 +0000 |
---|---|---|
committer | Jakub Staszak <kubastaszak@gmail.com> | 2011-12-20 20:03:10 +0000 |
commit | 96f8c551e3da84528e60298823c5ae3a30153bf8 (patch) | |
tree | 4d545b2d441f5f7e7f1785ef993312b3bd4b0aa0 /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
parent | c8ebeff9a1f07562dcdf7f649c05d734362d21cd (diff) | |
download | bcm5719-llvm-96f8c551e3da84528e60298823c5ae3a30153bf8.tar.gz bcm5719-llvm-96f8c551e3da84528e60298823c5ae3a30153bf8.zip |
Add some constantness to BranchProbabilityInfo and BlockFrequnencyInfo.
llvm-svn: 146986
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineBasicBlock.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MachineBasicBlock.cpp b/llvm/lib/CodeGen/MachineBasicBlock.cpp index 673491608d9..b4a2ca1894b 100644 --- a/llvm/lib/CodeGen/MachineBasicBlock.cpp +++ b/llvm/lib/CodeGen/MachineBasicBlock.cpp @@ -870,11 +870,11 @@ MachineBasicBlock::findDebugLoc(instr_iterator MBBI) { /// getSuccWeight - Return weight of the edge from this block to MBB. /// -uint32_t MachineBasicBlock::getSuccWeight(MachineBasicBlock *succ) { +uint32_t MachineBasicBlock::getSuccWeight(const MachineBasicBlock *succ) const { if (Weights.empty()) return 0; - succ_iterator I = std::find(Successors.begin(), Successors.end(), succ); + const_succ_iterator I = std::find(Successors.begin(), Successors.end(), succ); return *getWeightIterator(I); } @@ -888,6 +888,16 @@ getWeightIterator(MachineBasicBlock::succ_iterator I) { return Weights.begin() + index; } +/// getWeightIterator - Return wight iterator corresonding to the I successor +/// iterator +MachineBasicBlock::const_weight_iterator MachineBasicBlock:: +getWeightIterator(MachineBasicBlock::const_succ_iterator I) const { + assert(Weights.size() == Successors.size() && "Async weight list!"); + const size_t index = std::distance(Successors.begin(), I); + assert(index < Weights.size() && "Not a current successor!"); + return Weights.begin() + index; +} + void llvm::WriteAsOperand(raw_ostream &OS, const MachineBasicBlock *MBB, bool t) { OS << "BB#" << MBB->getNumber(); |