summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils
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
commit5af2be7d09bb520b520aa565d4f5d467a69d313d (patch)
treebd667e4571c163808c1dc3f78e76356ee1a009dc /llvm/lib/Transforms/Utils
parentf68f121dd3c698d17d05cf15e5d53dc6dec8b8fc (diff)
downloadbcm5719-llvm-5af2be7d09bb520b520aa565d4f5d467a69d313d.tar.gz
bcm5719-llvm-5af2be7d09bb520b520aa565d4f5d467a69d313d.zip
* Add implementation of ExtractBasicBlock()
* Add comments to ExtractLoop() llvm-svn: 12053
Diffstat (limited to 'llvm/lib/Transforms/Utils')
-rw-r--r--llvm/lib/Transforms/Utils/CodeExtractor.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp
index 38f3c8a4c66..530d2f66b73 100644
--- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp
+++ b/llvm/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);
+}
OpenPOWER on IntegriCloud