aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis
diff options
context:
space:
mode:
authorGabor Greif <ggreif@gmail.com>2010-07-09 09:50:51 +0000
committerGabor Greif <ggreif@gmail.com>2010-07-09 09:50:51 +0000
commit05f6a416cfadd0bc700b07fc992803021084662c (patch)
tree73f6292200ee8db6aa8663ff8127e1be42dec4c2 /include/llvm/Analysis
parent46b5b830711030cf5ddd7b177a3da8428a3afca5 (diff)
downloadexternal_llvm-05f6a416cfadd0bc700b07fc992803021084662c.zip
external_llvm-05f6a416cfadd0bc700b07fc992803021084662c.tar.gz
external_llvm-05f6a416cfadd0bc700b07fc992803021084662c.tar.bz2
reuse result of operator*, it is expensive to recompute
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107959 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r--include/llvm/Analysis/LoopInfo.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/llvm/Analysis/LoopInfo.h b/include/llvm/Analysis/LoopInfo.h
index 7b38052..9be01dd 100644
--- a/include/llvm/Analysis/LoopInfo.h
+++ b/include/llvm/Analysis/LoopInfo.h
@@ -757,9 +757,11 @@ public:
typedef GraphTraits<Inverse<BlockT*> > InvBlockTraits;
for (typename InvBlockTraits::ChildIteratorType I =
InvBlockTraits::child_begin(BB), E = InvBlockTraits::child_end(BB);
- I != E; ++I)
- if (DT.dominates(BB, *I)) // If BB dominates its predecessor...
- TodoStack.push_back(*I);
+ I != E; ++I) {
+ typename InvBlockTraits::NodeType *N = *I;
+ if (DT.dominates(BB, N)) // If BB dominates its predecessor...
+ TodoStack.push_back(N);
+ }
if (TodoStack.empty()) return 0; // No backedges to this block...