From 5af2be7d09bb520b520aa565d4f5d467a69d313d Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Mon, 1 Mar 2004 18:28:34 +0000 Subject: [PATCH] * Add implementation of ExtractBasicBlock() * Add comments to ExtractLoop() llvm-svn: 12053 --- llvm/lib/Transforms/Utils/CodeExtractor.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp index 38f3c8a4c661..530d2f66b731 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 &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 Blocks; + Blocks.push_back(BB); + return CE.ExtractCodeRegion(Blocks); +}