[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