mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-22 10:29:35 +00:00
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 |
||
---|---|---|
.. | ||
AssumptionCache | ||
BasicAA | ||
BlockFrequencyInfo | ||
BranchProbabilityInfo | ||
CallGraph | ||
CFLAliasAnalysis | ||
CostModel | ||
Delinearization | ||
DependenceAnalysis | ||
DivergenceAnalysis/NVPTX | ||
Dominators | ||
GlobalsModRef | ||
LazyCallGraph | ||
Lint | ||
LoopAccessAnalysis | ||
LoopInfo | ||
MemoryDependenceAnalysis | ||
PostDominators | ||
RegionInfo | ||
ScalarEvolution | ||
ScopedNoAliasAA | ||
TypeBasedAliasAnalysis | ||
ValueTracking |