diff options
author | Dan Gohman <gohman@apple.com> | 2009-07-28 01:40:03 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-07-28 01:40:03 +0000 |
commit | d6aa02de1076c801ac41295156a2379637976918 (patch) | |
tree | 4dcd116cd17bcf6e69fa70cc8921273a9f7d0980 /lib/Analysis/ScalarEvolutionExpander.cpp | |
parent | eb045ecba09bf606a7bcdda3edc52d43873561ab (diff) |
Teach instcombine to respect and preserve inbounds. Add inbounds
to a few tests where it is required for the expected transformation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77290 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/ScalarEvolutionExpander.cpp')
-rw-r--r-- | lib/Analysis/ScalarEvolutionExpander.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Analysis/ScalarEvolutionExpander.cpp b/lib/Analysis/ScalarEvolutionExpander.cpp index eb2236b2d7..e098ea256f 100644 --- a/lib/Analysis/ScalarEvolutionExpander.cpp +++ b/lib/Analysis/ScalarEvolutionExpander.cpp @@ -349,7 +349,9 @@ Value *SCEVExpander::expandAddToGEP(const SCEV *const *op_begin, return GEP; } - // Insert a pretty getelementptr. + // Insert a pretty getelementptr. Note that this GEP is not marked inbounds, + // because ScalarEvolution may have changed the address arithmetic to + // compute a value which is beyond the end of the allocated object. Value *GEP = Builder.CreateGEP(V, GepIndices.begin(), GepIndices.end(), |