[llvm-commits] [llvm] r166384 - in /llvm/trunk: lib/Transforms/Vectorize/LoopVectorize.cpp test/Transforms/LoopVectorize/2012-10-20-infloop.ll

Nadav Rotem nrotem at apple.com
Sat Oct 20 19:38:01 PDT 2012


Author: nadav
Date: Sat Oct 20 21:38:01 2012
New Revision: 166384

URL: http://llvm.org/viewvc/llvm-project?rev=166384&view=rev
Log:
Vectorizer: fix a bug in the classification of induction/reduction phis.

Modified:
    llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
    llvm/trunk/test/Transforms/LoopVectorize/2012-10-20-infloop.ll

Modified: llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp?rev=166384&r1=166383&r2=166384&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp (original)
+++ llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp Sat Oct 20 21:38:01 2012
@@ -950,6 +950,9 @@
         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.

Modified: llvm/trunk/test/Transforms/LoopVectorize/2012-10-20-infloop.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/LoopVectorize/2012-10-20-infloop.ll?rev=166384&r1=166383&r2=166384&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/LoopVectorize/2012-10-20-infloop.ll (original)
+++ llvm/trunk/test/Transforms/LoopVectorize/2012-10-20-infloop.ll Sat Oct 20 21:38:01 2012
@@ -10,3 +10,18 @@
  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
+}





More information about the llvm-commits mailing list