summaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/CodeExtractor.cpp
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2004-03-01 18:28:34 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2004-03-01 18:28:34 +0000
commitb97fce52528eb5d9a6e86c3c0e92a73a07341c83 (patch)
treecabeecd5c0a7d28497c77eeeddfebdc19b537be4 /lib/Transforms/Utils/CodeExtractor.cpp
parenta8a06367f849d7742c7dace0fa2d4a395b513a43 (diff)
downloadllvm-b97fce52528eb5d9a6e86c3c0e92a73a07341c83.tar.gz
llvm-b97fce52528eb5d9a6e86c3c0e92a73a07341c83.tar.bz2
llvm-b97fce52528eb5d9a6e86c3c0e92a73a07341c83.tar.xz
* Add implementation of ExtractBasicBlock()
* Add comments to ExtractLoop() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12053 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/CodeExtractor.cpp')
-rw-r--r--lib/Transforms/Utils/CodeExtractor.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Transforms/Utils/CodeExtractor.cpp b/lib/Transforms/Utils/CodeExtractor.cpp
index 38f3c8a4c6..530d2f66b7 100644
--- a/lib/Transforms/Utils/CodeExtractor.cpp
+++ b/lib/Transforms/Utils/CodeExtractor.cpp
@@ -566,8 +566,18 @@ Function *CodeExtractor::ExtractCodeRegion(const std::vector<BasicBlock*> &code)
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);
+}