mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
e11d1d2c31
Summary: Scalar evolution does not propagate the non-wrapping flags to values that are derived from a non-wrapping induction variable because the non-wrapping property could be flow-sensitive. This change is a first attempt to establish the non-wrapping property in some simple cases. The main idea is to look through the operations defining the pointer. As long as we arrive to a non-wrapping AddRec via a small chain of non-wrapping instruction, the pointer should not wrap either. I believe that this essentially is what Andy described in http://article.gmane.org/gmane.comp.compilers.llvm.cvs/220731 as the way forward. Reviewers: aschwaighofer, nadav, sanjoy, atrick Reviewed By: atrick Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10472 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240798 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
backward-dep-different-types.ll | ||
non-wrapping-pointer.ll | ||
number-of-memchecks.ll | ||
resort-to-memchecks-only.ll | ||
safe-no-checks.ll | ||
store-to-invariant-check1.ll | ||
store-to-invariant-check2.ll | ||
store-to-invariant-check3.ll | ||
stride-access-dependence.ll | ||
underlying-objects-1.ll | ||
underlying-objects-2.ll | ||
unsafe-and-rt-checks.ll |