diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2016-06-17 18:59:41 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2016-06-17 18:59:41 +0000 |
commit | 4dea8f542b59973ea19f1826b6d18c99d7a047c1 (patch) | |
tree | 85665abd293ea9ee6be3895d646093c2428659db /llvm/lib/Transforms/Scalar/StructurizeCFG.cpp | |
parent | 28a9e7f4ba8d3bb8cca4d521f0089cd449227769 (diff) | |
download | llvm-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.cpp | 10 |
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); } } |