Fix cut-n-pasto.
authorDevang Patel <dpatel@apple.com>
Fri, 29 Feb 2008 23:41:13 +0000 (23:41 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 29 Feb 2008 23:41:13 +0000 (23:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47777 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/StructRetPromotion.cpp

index dd626a591237a888f78c7cfe43bae53033ab0c78..356cfa604c107aba4f7676101a1ec988b48f22aa 100644 (file)
@@ -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"