From 6000e253d4b59677030fdf2f53f8d1e5fa00a1a4 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 26 Oct 2009 19:12:14 +0000 Subject: 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/Transforms/Scalar.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include/llvm/Transforms') diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h index fee4e65938..c5378994fd 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 -- cgit v1.2.3-70-g09d2