diff options
author | Dan Gohman <gohman@apple.com> | 2009-10-26 19:12:14 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-10-26 19:12:14 +0000 |
commit | 6000e253d4b59677030fdf2f53f8d1e5fa00a1a4 (patch) | |
tree | 88b2e31a282858d88066399cbd9c1a278c3063b5 /include/llvm/Transforms | |
parent | c932213e136ebcf7692b803369fd7bbf3c461daa (diff) | |
download | external_llvm-6000e253d4b59677030fdf2f53f8d1e5fa00a1a4.zip external_llvm-6000e253d4b59677030fdf2f53f8d1e5fa00a1a4.tar.gz external_llvm-6000e253d4b59677030fdf2f53f8d1e5fa00a1a4.tar.bz2 |
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
Diffstat (limited to 'include/llvm/Transforms')
-rw-r--r-- | include/llvm/Transforms/Scalar.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h index fee4e65..c537899 100644 --- a/include/llvm/Transforms/Scalar.h +++ b/include/llvm/Transforms/Scalar.h @@ -341,6 +341,12 @@ FunctionPass *createSSIPass(); // FunctionPass *createSSIEverythingPass(); +//===----------------------------------------------------------------------===// +// +// GEPSplitter - Split complex GEPs into simple ones +// +FunctionPass *createGEPSplitterPass(); + } // End llvm namespace #endif |