diff options
author | Devang Patel <dpatel@apple.com> | 2008-02-29 23:34:08 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-02-29 23:34:08 +0000 |
commit | ca891ecf9152791f72f33a0dafff6b4a022642ee (patch) | |
tree | 91294af9c6a7a3266599ad4428b4644173a985df /include | |
parent | 8213f9cf94c740d078b444ecb125b9a581350837 (diff) | |
download | external_llvm-ca891ecf9152791f72f33a0dafff6b4a022642ee.zip external_llvm-ca891ecf9152791f72f33a0dafff6b4a022642ee.tar.gz external_llvm-ca891ecf9152791f72f33a0dafff6b4a022642ee.tar.bz2 |
Add pass to promote sret.
This pass transforms
%struct._Point = type { i32, i32, i32, i32, i32, i32 }
define internal void @foo(%struct._Point* sret %agg.result)
into
%struct._Point = type { i32, i32, i32, i32, i32, i32 }
define internal %struct._Point @foo()
This pass updates foo() clients appropriately to use
getresult instruction to extract return values.
This pass is not yet ready for prime time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47776 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Transforms/IPO.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h index e7590ac..8d59fa6 100644 --- a/include/llvm/Transforms/IPO.h +++ b/include/llvm/Transforms/IPO.h @@ -125,6 +125,7 @@ ModulePass *createDeadArgHackingPass(); /// be passed by value. /// Pass *createArgumentPromotionPass(); +Pass *createStructRetPromotionPass(); //===----------------------------------------------------------------------===// /// createIPConstantPropagationPass - This pass propagates constants from call |