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
This commit is contained in:
Nadav Rotem 2012-10-21 02:38:01 +00:00
parent 64486737d5
commit 5a418ba5f5
2 changed files with 18 additions and 0 deletions

View File

@ -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.

View File

@ -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
}