From: Nadav Rotem Date: Sun, 21 Oct 2012 02:38:01 +0000 (+0000) Subject: Vectorizer: fix a bug in the classification of induction/reduction phis. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5a418ba5f5a6498a25d5eacb0f876d9f358c977b;p=oota-llvm.git Vectorizer: fix a bug in the classification of induction/reduction phis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166384 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp index 027fe0656be..76936d52c99 100644 --- a/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -950,6 +950,9 @@ bool LoopVectorizationLegality::canVectorizeBlock(BasicBlock &BB) { DEBUG(dbgs() << "LV: Found an Mult reduction PHI."<< *Phi <<"\n"); continue; } + + DEBUG(dbgs() << "LV: Found an unidentified PHI."<< *Phi <<"\n"); + return false; }// end of PHI handling // We still don't handle functions. diff --git a/test/Transforms/LoopVectorize/2012-10-20-infloop.ll b/test/Transforms/LoopVectorize/2012-10-20-infloop.ll index 16a77291995..5caaffc8dde 100644 --- a/test/Transforms/LoopVectorize/2012-10-20-infloop.ll +++ b/test/Transforms/LoopVectorize/2012-10-20-infloop.ll @@ -10,3 +10,18 @@ for.body: br label %for.body } + + +define void @test2() nounwind { +entry: + br label %for.body + +for.body: ; preds = %for.body, %entry + %indvars.iv47 = phi i64 [ 0, %entry ], [ %indvars.iv.next48, %for.body ] + %0 = phi i32 [ 1, %entry ], [ 0, %for.body ] + %indvars.iv.next48 = add i64 %indvars.iv47, 1 + br i1 undef, label %for.end, label %for.body + +for.end: ; preds = %for.body + unreachable +}