aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2016-06-17 18:59:41 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2016-06-17 18:59:41 +0000
commit4dea8f542b59973ea19f1826b6d18c99d7a047c1 (patch)
tree85665abd293ea9ee6be3895d646093c2428659db /llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
parent28a9e7f4ba8d3bb8cca4d521f0089cd449227769 (diff)
downloadllvm-4dea8f542b59973ea19f1826b6d18c99d7a047c1.zip
llvm-4dea8f542b59973ea19f1826b6d18c99d7a047c1.tar.gz
llvm-4dea8f542b59973ea19f1826b6d18c99d7a047c1.tar.bz2
Avoid duplicated map lookups. No functionality change intended.
llvm-svn: 273030
Diffstat (limited to 'llvm/lib/Transforms/Scalar/StructurizeCFG.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/StructurizeCFG.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp b/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
index 675614d..802b3e4 100644
--- a/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
+++ b/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
@@ -311,11 +311,7 @@ void StructurizeCFG::orderNodes() {
for (RegionNode *RN : TempOrder) {
BasicBlock *BB = RN->getEntry();
Loop *Loop = LI->getLoopFor(BB);
- if (!LoopBlocks.count(Loop)) {
- LoopBlocks[Loop] = 1;
- continue;
- }
- LoopBlocks[Loop]++;
+ ++LoopBlocks[Loop];
}
unsigned CurrentLoopDepth = 0;
@@ -333,11 +329,11 @@ void StructurizeCFG::orderNodes() {
// the outer loop.
RNVector::iterator LoopI = I;
- while(LoopBlocks[CurrentLoop]) {
+ while (unsigned &BlockCount = LoopBlocks[CurrentLoop]) {
LoopI++;
BasicBlock *LoopBB = (*LoopI)->getEntry();
if (LI->getLoopFor(LoopBB) == CurrentLoop) {
- LoopBlocks[CurrentLoop]--;
+ --BlockCount;
Order.push_back(*LoopI);
}
}