summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-09-10 23:57:58 +0000
committerDevang Patel <dpatel@apple.com>2007-09-10 23:57:58 +0000
commitf4202e91f80f4fe60eaa2e7656c4f93887de2014 (patch)
treec14bd39b8df89f6bf467365eff981b78e0cbf282
parent6cf04f49523aa6ea118ec5b4b84e01f3e78ce2bb (diff)
downloadbcm5719-llvm-f4202e91f80f4fe60eaa2e7656c4f93887de2014.tar.gz
bcm5719-llvm-f4202e91f80f4fe60eaa2e7656c4f93887de2014.zip
Check all terminators inside loop.
llvm-svn: 41821
-rw-r--r--llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp b/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp
index 0f55a9100c3..03f1553e907 100644
--- a/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp
@@ -379,7 +379,6 @@ void LoopIndexSplit::findSplitCondition() {
SplitInfo SD;
// Check all basic block's terminators.
-
for (Loop::block_iterator I = L->block_begin(), E = L->block_end();
I != E; ++I) {
BasicBlock *BB = *I;
@@ -395,10 +394,10 @@ void LoopIndexSplit::findSplitCondition() {
ICmpInst *CI = dyn_cast<ICmpInst>(BR->getCondition());
if (!CI || CI == ExitCondition)
- return;
+ continue;
if (CI->getPredicate() == ICmpInst::ICMP_NE)
- return;
+ continue;
// If split condition predicate is GT or GE then first execute
// false branch of split condition.
@@ -508,7 +507,7 @@ bool LoopIndexSplit::processOneIterationLoop(SplitInfo &SD) {
// SplitCondition : icmp eq i32 IndVar, SplitValue
// into
// c1 = icmp uge i32 SplitValue, StartValue
- // c2 = icmp ult i32 vSplitValue, ExitValue
+ // c2 = icmp ult i32 SplitValue, ExitValue
// and i32 c1, c2
bool SignedPredicate = ExitCondition->isSignedPredicate();
Instruction *C1 = new ICmpInst(SignedPredicate ?
OpenPOWER on IntegriCloud