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 | fd8e7d4a0f38579e9b26bcaf924ca63cd031b515 (patch) | |
tree | b8c427628dc59f214c0815962aa191e6d17de009 /llvm/lib/Transforms/Utils | |
parent | e7650c7c29545d36d98683edf759d412fd480b9c (diff) | |
download | bcm5719-llvm-fd8e7d4a0f38579e9b26bcaf924ca63cd031b515.tar.gz bcm5719-llvm-fd8e7d4a0f38579e9b26bcaf924ca63cd031b515.zip |
cache result of operator*
llvm-svn: 107984
Diffstat (limited to 'llvm/lib/Transforms/Utils')
-rw-r--r-- | llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp b/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp index fe99daa1123..26f53c05a04 100644 --- a/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp +++ b/llvm/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 |