Vectorizer: fix a bug in the classification of induction/reduction phis.

llvm-svn: 166384
This commit is contained in:
Nadav Rotem 2012-10-21 02:38:01 +00:00
parent 784ac6493a
commit 763abacb83
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
}