aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-09-10 23:45:25 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-09-10 23:45:25 +0000
commit8e5eb2b160687bbe3afbe522e4af7518c1bea73f (patch)
tree41b335f72ab8df5ada8d4e228d048da016d7d790 /lib/Transforms
parentadd560eee426339135fbabcad764b2afad46285e (diff)
downloadexternal_llvm-8e5eb2b160687bbe3afbe522e4af7518c1bea73f.zip
external_llvm-8e5eb2b160687bbe3afbe522e4af7518c1bea73f.tar.gz
external_llvm-8e5eb2b160687bbe3afbe522e4af7518c1bea73f.tar.bz2
Don't assert on invalid loop vectorization hint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190450 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/Vectorize/LoopVectorize.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp
index dff3c0f..9e7335a 100644
--- a/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -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);
+ }
}
};