diff options
author | Owen Anderson <resistor@mac.com> | 2009-06-14 08:26:32 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-06-14 08:26:32 +0000 |
commit | ca399021d47d640551eb786620bcd108e1758485 (patch) | |
tree | 66e732b03800cc869151e0d3a802b78da4e78555 /include/llvm/Transforms/IPO.h | |
parent | ae9163f0e24d032f99b978d31ea810a1d441f7e2 (diff) | |
download | llvm-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.h | 5 |
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 |