The code extractor needs dominator information, so we provide it.
authorChris Lattner <sabre@nondot.org>
Thu, 18 Mar 2004 03:47:46 +0000 (03:47 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 18 Mar 2004 03:47:46 +0000 (03:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12482 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Transforms/Utils/FunctionUtils.h

index cbc8c446d072603d622c83cb885b29903e3e4e3a..22b649591556810f4eabae35bf9171cf79199fbe 100644 (file)
 #include <vector>
 
 namespace llvm {
-
   class BasicBlock;
-class Function;
-class Loop;
-
-/// ExtractCodeRegion - rip out a sequence of basic blocks into a new function
-///
-Function* ExtractCodeRegion(const std::vector<BasicBlock*> &code);
-
-/// 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);
-
+  class DominatorSet;
+  class Function;
+  class Loop;
+  
+  /// ExtractCodeRegion - rip out a sequence of basic blocks into a new function
+  ///
+  Function* ExtractCodeRegion(DominatorSet &DS,
+                              const std::vector<BasicBlock*> &code);
+
+  /// ExtractLoop - rip out a natural loop into a new function
+  ///
+  Function* ExtractLoop(DominatorSet &DS, Loop *L);
+
+  /// ExtractBasicBlock - rip out a basic block into a new function
+  ///
+  Function* ExtractBasicBlock(BasicBlock *BB);
 }
 
 #endif