diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2013-09-10 23:45:25 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2013-09-10 23:45:25 +0000 |
commit | 8e5eb2b160687bbe3afbe522e4af7518c1bea73f (patch) | |
tree | 41b335f72ab8df5ada8d4e228d048da016d7d790 /lib/Transforms | |
parent | add560eee426339135fbabcad764b2afad46285e (diff) | |
download | external_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.cpp | 17 |
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); + } } }; |