summaryrefslogtreecommitdiff
path: root/include/llvm/Transforms/IPO.h
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2009-06-14 08:26:32 +0000
committerOwen Anderson <resistor@mac.com>2009-06-14 08:26:32 +0000
commitca399021d47d640551eb786620bcd108e1758485 (patch)
tree66e732b03800cc869151e0d3a802b78da4e78555 /include/llvm/Transforms/IPO.h
parentae9163f0e24d032f99b978d31ea810a1d441f7e2 (diff)
downloadllvm-ca399021d47d640551eb786620bcd108e1758485.tar.gz
llvm-ca399021d47d640551eb786620bcd108e1758485.tar.bz2
llvm-ca399021d47d640551eb786620bcd108e1758485.tar.xz
Add an early implementation of a partial inlining pass. The idea behind this
is that, for functions whose bodies are entirely guarded by an if-statement, it can be profitable to pull the test out of the callee and into the caller. This code has had some cursory testing, but still has a number of known issues on the LLVM test suite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73338 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms/IPO.h')
-rw-r--r--include/llvm/Transforms/IPO.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h
index 4372ea00d4..750969b36e 100644
--- a/include/llvm/Transforms/IPO.h
+++ b/include/llvm/Transforms/IPO.h
@@ -214,6 +214,11 @@ Pass *createFunctionAttrsPass();
///
ModulePass *createMergeFunctionsPass();
+//===----------------------------------------------------------------------===//
+/// createPartialInliningPass - This pass inlines parts of functions.
+///
+ModulePass *createPartialInliningPass();
+
} // End llvm namespace
#endif