summaryrefslogtreecommitdiff
path: root/lib/Transforms/IPO/StructRetPromotion.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-02-29 23:41:13 +0000
committerDevang Patel <dpatel@apple.com>2008-02-29 23:41:13 +0000
commitc45b5d9f6675c39bea87c15da0067cb4b183b3a2 (patch)
tree90a50894af6d848b182f2f564b46d694a6a14bb1 /lib/Transforms/IPO/StructRetPromotion.cpp
parentca891ecf9152791f72f33a0dafff6b4a022642ee (diff)
downloadllvm-c45b5d9f6675c39bea87c15da0067cb4b183b3a2.tar.gz
llvm-c45b5d9f6675c39bea87c15da0067cb4b183b3a2.tar.bz2
llvm-c45b5d9f6675c39bea87c15da0067cb4b183b3a2.tar.xz
Fix cut-n-pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47777 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO/StructRetPromotion.cpp')
-rw-r--r--lib/Transforms/IPO/StructRetPromotion.cpp20
1 files changed, 1 insertions, 19 deletions
diff --git a/lib/Transforms/IPO/StructRetPromotion.cpp b/lib/Transforms/IPO/StructRetPromotion.cpp
index dd626a5912..356cfa604c 100644
--- a/lib/Transforms/IPO/StructRetPromotion.cpp
+++ b/lib/Transforms/IPO/StructRetPromotion.cpp
@@ -7,25 +7,7 @@
//
//===----------------------------------------------------------------------===//
//
-// This pass promotes "by reference" arguments to be "by value" arguments. In
-// practice, this means looking for internal functions that have pointer
-// arguments. If it can prove, through the use of alias analysis, that an
-// argument is *only* loaded, then it can pass the value into the function
-// instead of the address of the value. This can cause recursive simplification
-// of code and lead to the elimination of allocas (especially in C++ template
-// code like the STL).
-//
-// This pass also handles aggregate arguments that are passed into a function,
-// scalarizing them if the elements of the aggregate are only loaded. Note that
-// it refuses to scalarize aggregates which would require passing in more than
-// three operands to the function, because passing thousands of operands for a
-// large array or structure is unprofitable!
-//
-// Note that this transformation could also be done for arguments that are only
-// stored to (returning the value instead), but does not currently. This case
-// would be best handled when and if LLVM begins supporting multiple return
-// values from functions.
-//
+// TODO : Describe this pass.
//===----------------------------------------------------------------------===//
#define DEBUG_TYPE "sretpromotion"