[SCEV] Strengthen StrengthenNoWrapFlags (reapply r334428).
authorTim Shen <timshen91@gmail.com>
Mon, 2 Jul 2018 20:01:54 +0000 (20:01 +0000)
committerTim Shen <timshen91@gmail.com>
Mon, 2 Jul 2018 20:01:54 +0000 (20:01 +0000)
commitc7cef4bcc4400673ffb86be04c006790577f7f56
tree022bdc0f4bbbd8ba8c449d7e09b10ce282886a0c
parent4bc7f3d4d635c05a874c180c03e7a0c130f07cd2
[SCEV] Strengthen StrengthenNoWrapFlags (reapply r334428).

Summary:
Comment on Transforms/LoopVersioning/incorrect-phi.ll: With the change
SCEV is able to prove that the loop doesn't wrap-self (due to zext i16
to i64), disabling the entire loop versioning pass. Removed the zext and
just use i64.

Reviewers: sanjoy

Subscribers: jlebar, hiraditya, javed.absar, bixia, llvm-commits

Differential Revision: https://reviews.llvm.org/D48409

llvm-svn: 336140
18 files changed:
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/Delinearization/a.ll
llvm/test/Analysis/Delinearization/iv_times_constant_in_subscript.ll
llvm/test/Analysis/IVUsers/quadradic-exit-value.ll
llvm/test/Analysis/LoopAccessAnalysis/number-of-memchecks.ll
llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
llvm/test/Analysis/ScalarEvolution/extract-highbits-sameconstmask.ll
llvm/test/Analysis/ScalarEvolution/lshr-shl-differentconstmask.ll
llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
llvm/test/Analysis/ScalarEvolution/nsw.ll
llvm/test/Analysis/ScalarEvolution/predicated-trip-count.ll
llvm/test/Analysis/ScalarEvolution/sext-mul.ll
llvm/test/Analysis/ScalarEvolution/shl-lshr-differentconstmask.ll
llvm/test/Analysis/ScalarEvolution/trip-count-pow2.ll
llvm/test/Analysis/ScalarEvolution/zext-mul.ll
llvm/test/Transforms/LoopVersioning/incorrect-phi.ll