diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-08-22 15:37:57 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-08-22 15:37:57 +0000 |
commit | f29db275b2c1fef8ffdee057af01509bd6dd6a45 (patch) | |
tree | 821f29370cd4c27df677e4be73c5c86526fa06cc /llvm/lib/Analysis/LoopInfo.cpp | |
parent | fc6eb7d3833e0233cda51e18a1f9e21f42c077e3 (diff) | |
download | bcm5719-llvm-f29db275b2c1fef8ffdee057af01509bd6dd6a45.tar.gz bcm5719-llvm-f29db275b2c1fef8ffdee057af01509bd6dd6a45.zip |
Reduce duplicated hash map lookups.
llvm-svn: 162362
Diffstat (limited to 'llvm/lib/Analysis/LoopInfo.cpp')
-rw-r--r-- | llvm/lib/Analysis/LoopInfo.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Analysis/LoopInfo.cpp b/llvm/lib/Analysis/LoopInfo.cpp index 20c33a3d9d6..49767d69b26 100644 --- a/llvm/lib/Analysis/LoopInfo.cpp +++ b/llvm/lib/Analysis/LoopInfo.cpp @@ -429,8 +429,8 @@ void UnloopUpdater::updateSubloopParents() { Unloop->removeChildLoop(llvm::prior(Unloop->end())); assert(SubloopParents.count(Subloop) && "DFS failed to visit subloop"); - if (SubloopParents[Subloop]) - SubloopParents[Subloop]->addChildLoop(Subloop); + if (Loop *Parent = SubloopParents[Subloop]) + Parent->addChildLoop(Subloop); else LI->addTopLevelLoop(Subloop); } @@ -456,9 +456,8 @@ Loop *UnloopUpdater::getNearestLoop(BasicBlock *BB, Loop *BBLoop) { assert(Subloop && "subloop is not an ancestor of the original loop"); } // Get the current nearest parent of the Subloop exits, initially Unloop. - if (!SubloopParents.count(Subloop)) - SubloopParents[Subloop] = Unloop; - NearLoop = SubloopParents[Subloop]; + NearLoop = + SubloopParents.insert(std::make_pair(Subloop, Unloop)).first->second; } succ_iterator I = succ_begin(BB), E = succ_end(BB); |