This patch teaches ScalarEvolution to pick and use !range metadata.
authorSanjoy Das <sanjoy@playingwithpointers.com>
Fri, 10 Oct 2014 21:22:34 +0000 (21:22 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Fri, 10 Oct 2014 21:22:34 +0000 (21:22 +0000)
commit65f2077c6246534bb5d89fc2d205ef5de582549b
tree2434467fbcabd48e43ca33d46beeb780addd3eaf
parent9a0be5bfd9b49837ab1ba86fdd9b2e121d8af5eb
This patch teaches ScalarEvolution to pick and use !range metadata.
It also makes it more aggressive in querying range information by
adding a call to isKnownPredicateWithRanges to
isLoopBackedgeGuardedByCond and isLoopEntryGuardedByCond.

phabricator: http://reviews.llvm.org/D5638

Reviewed by: atrick, hfinkel

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219532 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/ScalarEvolution.cpp
test/Analysis/ScalarEvolution/load-with-range-metadata.ll [new file with mode: 0644]
test/Transforms/IndVarSimplify/use-range-metadata.ll [new file with mode: 0644]