summaryrefslogtreecommitdiff
path: root/include/llvm/Transforms/IPO.h
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-02-29 23:34:08 +0000
committerDevang Patel <dpatel@apple.com>2008-02-29 23:34:08 +0000
commitca891ecf9152791f72f33a0dafff6b4a022642ee (patch)
tree91294af9c6a7a3266599ad4428b4644173a985df /include/llvm/Transforms/IPO.h
parent8213f9cf94c740d078b444ecb125b9a581350837 (diff)
downloadllvm-ca891ecf9152791f72f33a0dafff6b4a022642ee.tar.gz
llvm-ca891ecf9152791f72f33a0dafff6b4a022642ee.tar.bz2
llvm-ca891ecf9152791f72f33a0dafff6b4a022642ee.tar.xz
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/llvm/Transforms/IPO.h')
-rw-r--r--include/llvm/Transforms/IPO.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h
index e7590ac019..8d59fa6355 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