[llvm-commits] CVS: llvm/include/llvm/Transforms/Utils/Cloning.h

Chris Lattner lattner at cs.uiuc.edu
Tue Nov 19 15:55:06 PST 2002

Changes in directory llvm/include/llvm/Transforms/Utils:

Cloning.h updated: 1.1 -> 1.2

Log message:

Extend function cloning interface to support inlining

Diffs of the changes:

Index: llvm/include/llvm/Transforms/Utils/Cloning.h
diff -u llvm/include/llvm/Transforms/Utils/Cloning.h:1.1 llvm/include/llvm/Transforms/Utils/Cloning.h:1.2
--- llvm/include/llvm/Transforms/Utils/Cloning.h:1.1	Tue Nov 19 14:58:38 2002
+++ llvm/include/llvm/Transforms/Utils/Cloning.h	Tue Nov 19 15:54:38 2002
@@ -17,13 +17,18 @@
 class BasicBlock;
 class Value;
 class CallInst;
+class ReturnInst;
 // Clone OldFunc into NewFunc, transforming the old arguments into references to
 // ArgMap values.  Note that if NewFunc already has basic blocks, the ones
-// cloned into it will be added to the end of the function.
+// cloned into it will be added to the end of the function.  This function fills
+// in a list of return instructions, and can optionally append the specified
+// suffix to all values cloned.
 void CloneFunctionInto(Function *NewFunc, const Function *OldFunc,
-                       const std::vector<Value*> &ArgMap);
+                       const std::vector<Value*> &ArgMap,
+                       std::vector<ReturnInst*> &Returns,
+                       const char *NameSuffix = "");
 // InlineFunction - This function forcibly inlines the called function into the

More information about the llvm-commits mailing list