mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 08:17:40 +00:00
Fix a quadratic algorithm in MachineBranchProbabilityInfo.
The getSumForBlock function was quadratic in the number of successors because getSuccWeight would perform a linear search for an already known iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161460 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -912,12 +912,11 @@ MachineBasicBlock::findDebugLoc(instr_iterator MBBI) {
|
||||
|
||||
/// getSuccWeight - Return weight of the edge from this block to MBB.
|
||||
///
|
||||
uint32_t MachineBasicBlock::getSuccWeight(const MachineBasicBlock *succ) const {
|
||||
uint32_t MachineBasicBlock::getSuccWeight(const_succ_iterator Succ) const {
|
||||
if (Weights.empty())
|
||||
return 0;
|
||||
|
||||
const_succ_iterator I = std::find(Successors.begin(), Successors.end(), succ);
|
||||
return *getWeightIterator(I);
|
||||
return *getWeightIterator(Succ);
|
||||
}
|
||||
|
||||
/// getWeightIterator - Return wight iterator corresonding to the I successor
|
||||
|
||||
Reference in New Issue
Block a user