diff options
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Utils/CodeExtractor.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Transforms/Utils/CodeExtractor.cpp b/lib/Transforms/Utils/CodeExtractor.cpp index 530d2f6..7de3006 100644 --- a/lib/Transforms/Utils/CodeExtractor.cpp +++ b/lib/Transforms/Utils/CodeExtractor.cpp @@ -443,7 +443,7 @@ CodeExtractor::emitCallAndSwitchStatement(Function *newFunction, brInst); } - // Rewrite branches into exists which return a value based on which + // Rewrite branches into exits which return a value based on which // exit we take from this function if (brInst->isUnconditional()) { if (!contains(code, brInst->getSuccessor(0))) { @@ -566,6 +566,14 @@ Function *CodeExtractor::ExtractCodeRegion(const std::vector<BasicBlock*> &code) return newFunction; } +/// ExtractCodeRegion - slurp a sequence of basic blocks into a brand new +/// function +/// +Function* llvm::ExtractCodeRegion(const std::vector<BasicBlock*> &code) { + CodeExtractor CE; + return CE.ExtractCodeRegion(code); +} + /// ExtractBasicBlock - slurp a natural loop into a brand new function /// Function* llvm::ExtractLoop(Loop *L) { |