diff options
author | Gabor Greif <ggreif@gmail.com> | 2010-07-09 16:31:08 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2010-07-09 16:31:08 +0000 |
commit | ca91cacbad01faad4c2e2b60b54c82ec8b4e8b25 (patch) | |
tree | 68e1502b0a96a462b73ebeadb5848b661849ace4 /lib/Transforms/Utils/BreakCriticalEdges.cpp | |
parent | 644936d8febc42e96ea00d2120bb83b3e6342a55 (diff) | |
download | external_llvm-ca91cacbad01faad4c2e2b60b54c82ec8b4e8b25.tar.gz external_llvm-ca91cacbad01faad4c2e2b60b54c82ec8b4e8b25.tar.bz2 external_llvm-ca91cacbad01faad4c2e2b60b54c82ec8b4e8b25.zip |
cache result of operator*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107984 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/BreakCriticalEdges.cpp')
-rw-r--r-- | lib/Transforms/Utils/BreakCriticalEdges.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Transforms/Utils/BreakCriticalEdges.cpp b/lib/Transforms/Utils/BreakCriticalEdges.cpp index fe99daa112..26f53c05a0 100644 --- a/lib/Transforms/Utils/BreakCriticalEdges.cpp +++ b/lib/Transforms/Utils/BreakCriticalEdges.cpp @@ -403,11 +403,13 @@ BasicBlock *llvm::SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, bool HasPredOutsideOfLoop = false; BasicBlock *Exit = ExitBlocks[i]; for (pred_iterator I = pred_begin(Exit), E = pred_end(Exit); - I != E; ++I) - if (TIL->contains(*I)) - Preds.push_back(*I); + I != E; ++I) { + BasicBlock *P = *I; + if (TIL->contains(P)) + Preds.push_back(P); else HasPredOutsideOfLoop = true; + } // If there are any preds not in the loop, we'll need to split // the edges. The Preds.empty() check is needed because a block // may appear multiple times in the list. We can't use |