Make use @llvm.assume for loop guards in ScalarEvolution
authorHal Finkel <hfinkel@anl.gov>
Sun, 7 Sep 2014 21:37:59 +0000 (21:37 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sun, 7 Sep 2014 21:37:59 +0000 (21:37 +0000)
commit5f36b46bf0fa9dbdb6caede9a6a1d65a640c4e1a
tree87a4a25f7b3faeff17f6e105b076bf333977de1d
parent1c0c67a007bd3a90c0340b4e11d6259eec57340b
Make use @llvm.assume for loop guards in ScalarEvolution

This adds a basic (but important) use of @llvm.assume calls in ScalarEvolution.
When SE is attempting to validate a condition guarding a loop (such as whether
or not the loop count can be zero), this check should also include dominating
assumptions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217348 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/ScalarEvolution.cpp
test/Analysis/ScalarEvolution/nsw-offset-assume.ll [new file with mode: 0644]