InstCombine: Make OptimizePointerDifference more aggressive.
authorBenjamin Kramer <benny.kra@googlemail.com>
Mon, 20 Feb 2012 14:34:57 +0000 (14:34 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Mon, 20 Feb 2012 14:34:57 +0000 (14:34 +0000)
commitd2348639e639573a7708de9ea98dc55bade048a6
treef2e9215dc81ee3c0ed354ebe12d3955bd4bd8cbb
parent6259dcdc576f4e35cdab27465a355630950b621b
InstCombine: Make OptimizePointerDifference more aggressive.

- Ignore pointer casts.
- Also expand GEPs that aren't constantexprs when they have one use or only constant indices.

- We now compile "&foo[i] - &foo[j]" into "i - j".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150961 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineAddSub.cpp
test/Transforms/InstCombine/sub.ll