LoopVectorizer: Don't if-convert constant expressions that can trap
authorArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 17 Dec 2013 01:11:01 +0000 (01:11 +0000)
committerArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 17 Dec 2013 01:11:01 +0000 (01:11 +0000)
commit83196a9fcb863dec7a66242f2aa971dd3a273c15
tree224e6664f6305ecf52f1df72600952079c0a8da8
parenta6380c22e4461e8386cbf802b72ebe67a873154e
LoopVectorizer: Don't if-convert constant expressions that can trap

A phi node operand or an instruction operand could be a constant expression that
can trap (division). Check that we don't vectorize such cases.

PR16729
radar://15653590

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197449 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/if-conversion.ll