* Add implementation of ExtractBasicBlock()
* Add comments to ExtractLoop()

llvm-svn: 12053
diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
index 38f3c8a..530d2f6 100644
--- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp
+++ b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
@@ -566,8 +566,18 @@
   return newFunction;
 }
 
+/// ExtractBasicBlock - slurp a natural loop into a brand new function
+///
 Function* llvm::ExtractLoop(Loop *L) {
   CodeExtractor CE;
   return CE.ExtractCodeRegion(L->getBlocks());
 }
 
+/// ExtractBasicBlock - slurp a basic block into a brand new function
+///
+Function* llvm::ExtractBasicBlock(BasicBlock *BB) {
+  CodeExtractor CE;
+  std::vector<BasicBlock*> Blocks;
+  Blocks.push_back(BB);
+  return CE.ExtractCodeRegion(Blocks);  
+}