diff options
author | Chris Lattner <sabre@nondot.org> | 2007-02-05 23:31:26 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-02-05 23:31:26 +0000 |
commit | a0d1548d0db3bb2893cd04f4d92c066c7d1cdf5f (patch) | |
tree | 26d54f681f288404d27be7227f0f49bdbc093f90 /lib/Transforms | |
parent | 59d043bc8cb8b8847305881059c69d9bf5af1ee2 (diff) |
Simplify use of DFBlocks, this makes no noticable performance difference,
but paves the way to eliminate BBNumbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33938 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Utils/PromoteMemoryToRegister.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 39a4c897cf..7a5828d0d6 100644 --- a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -272,7 +272,7 @@ void PromoteMem2Reg::run() { // unsigned CurrentVersion = 0; SmallPtrSet<PHINode*, 16> InsertedPHINodes; - std::vector<unsigned> DFBlocks; + std::vector<std::pair<unsigned, BasicBlock*> > DFBlocks; while (!DefiningBlocks.empty()) { BasicBlock *BB = DefiningBlocks.back(); DefiningBlocks.pop_back(); @@ -289,13 +289,13 @@ void PromoteMem2Reg::run() { // processing blocks in order of the occurance in the function. for (DominanceFrontier::DomSetType::const_iterator P = S.begin(), PE = S.end(); P != PE; ++P) - DFBlocks.push_back(BBNumbers.getNumber(*P)); + DFBlocks.push_back(std::make_pair(BBNumbers.getNumber(*P), *P)); // Sort by which the block ordering in the function. std::sort(DFBlocks.begin(), DFBlocks.end()); for (unsigned i = 0, e = DFBlocks.size(); i != e; ++i) { - BasicBlock *BB = BBNumbers.getBlock(DFBlocks[i]); + BasicBlock *BB = DFBlocks[i].second; if (QueuePhiNode(BB, AllocaNum, CurrentVersion, InsertedPHINodes)) DefiningBlocks.push_back(BB); } |