[llvm-commits] [parallel] CVS: llvm/include/llvm/Transforms/Utils/FunctionUtils.h Cloning.h
Misha Brukman
brukman at cs.uiuc.edu
Mon Mar 1 18:00:08 PST 2004
Changes in directory llvm/include/llvm/Transforms/Utils:
FunctionUtils.h added (r1.2.2.1)
Cloning.h updated: 1.13 -> 1.13.4.1
---
Log message:
Merge from trunk
---
Diffs of the changes: (+37 -2)
Index: llvm/include/llvm/Transforms/Utils/FunctionUtils.h
diff -c /dev/null llvm/include/llvm/Transforms/Utils/FunctionUtils.h:1.2.2.1
*** /dev/null Mon Mar 1 17:57:29 2004
--- llvm/include/llvm/Transforms/Utils/FunctionUtils.h Mon Mar 1 17:57:19 2004
***************
*** 0 ****
--- 1,32 ----
+ //===-- Transform/Utils/FunctionUtils.h - Function Utils --------*- C++ -*-===//
+ //
+ // The LLVM Compiler Infrastructure
+ //
+ // This file was developed by the LLVM research group and is distributed under
+ // the University of Illinois Open Source License. See LICENSE.TXT for details.
+ //
+ //===----------------------------------------------------------------------===//
+ //
+ // This family of functions perform manipulations on functions.
+ //
+ //===----------------------------------------------------------------------===//
+
+ #ifndef LLVM_TRANSFORMS_UTILS_FUNCTION_H
+ #define LLVM_TRANSFORMS_UTILS_FUNCTION_H
+
+ namespace llvm {
+
+ class Function;
+ class Loop;
+
+ /// ExtractLoop - rip out a natural loop into a new function
+ ///
+ Function* ExtractLoop(Loop *L);
+
+ /// ExtractBasicBlock - rip out a basic block into a new function
+ ///
+ Function* ExtractBasicBlock(BasicBlock *BB);
+
+ }
+
+ #endif
Index: llvm/include/llvm/Transforms/Utils/Cloning.h
diff -u llvm/include/llvm/Transforms/Utils/Cloning.h:1.13 llvm/include/llvm/Transforms/Utils/Cloning.h:1.13.4.1
--- llvm/include/llvm/Transforms/Utils/Cloning.h:1.13 Tue Nov 11 16:41:31 2003
+++ llvm/include/llvm/Transforms/Utils/Cloning.h Mon Mar 1 17:57:19 2004
@@ -55,11 +55,14 @@
/// is recorded in the ValueMap map.
///
/// If you have a particular suffix you'd like to use to add to any cloned
-/// names, specify it as the optional second parameter.
+/// names, specify it as the optional third parameter.
+///
+/// If you would like the basic block to be auto-inserted into the end of a
+/// function, you can specify it as the optional fourth parameter.
///
BasicBlock *CloneBasicBlock(const BasicBlock *BB,
std::map<const Value*, Value*> &ValueMap,
- const char *NameSuffix = "");
+ const char *NameSuffix = "", Function *F = 0);
/// CloneFunction - Return a copy of the specified function, but without
More information about the llvm-commits
mailing list