[llvm] r190450 - Don't assert on invalid loop vectorization hint.

Eli Friedman eli.friedman at gmail.com
Tue Sep 10 16:45:25 PDT 2013


Author: efriedma
Date: Tue Sep 10 18:45:25 2013
New Revision: 190450

URL: http://llvm.org/viewvc/llvm-project?rev=190450&view=rev
Log:
Don't assert on invalid loop vectorization hint.

Modified:
    llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp

Modified: llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp?rev=190450&r1=190449&r2=190450&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp (original)
+++ llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp Tue Sep 10 18:45:25 2013
@@ -864,15 +864,18 @@ private:
     unsigned Val = C->getZExtValue();
 
     if (Hint == "width") {
-      assert(isPowerOf2_32(Val) && Val <= MaxVectorWidth &&
-             "Invalid width metadata");
-      Width = Val;
+      if (isPowerOf2_32(Val) && Val <= MaxVectorWidth)
+        Width = Val;
+      else
+        DEBUG(dbgs() << "LV: ignoring invalid width hint metadata");
     } else if (Hint == "unroll") {
-      assert(isPowerOf2_32(Val) && Val <= MaxUnrollFactor &&
-             "Invalid unroll metadata");
-      Unroll = Val;
-    } else
+      if (isPowerOf2_32(Val) && Val <= MaxUnrollFactor)
+        Unroll = Val;
+      else
+        DEBUG(dbgs() << "LV: ignoring invalid unroll hint metadata");
+    } else {
       DEBUG(dbgs() << "LV: ignoring unknown hint " << Hint);
+    }
   }
 };
 





More information about the llvm-commits mailing list