Check in the experimental GEP splitter pass. This pass splits complex
authorDan Gohman <gohman@apple.com>
Mon, 26 Oct 2009 19:12:14 +0000 (19:12 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 26 Oct 2009 19:12:14 +0000 (19:12 +0000)
commit6000e253d4b59677030fdf2f53f8d1e5fa00a1a4
tree88b2e31a282858d88066399cbd9c1a278c3063b5
parentc932213e136ebcf7692b803369fd7bbf3c461daa
Check in the experimental GEP splitter pass. This pass splits complex
GEPs (more than one non-zero index) into simple GEPs (at most one
non-zero index).  In some simple experiments using this it's not
uncommon to see 3% overall code size wins, because it exposes
redundancies that can be eliminated, however it's tricky to use
because instcombine aggressively undoes the work that this pass does.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85144 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/LinkAllPasses.h
include/llvm/Transforms/Scalar.h
lib/Transforms/Scalar/GEPSplitter.cpp [new file with mode: 0644]