From a71965b1adf6bfeddfd3b38fdf7df9b4412bc6c2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 23 Sep 2006 04:03:45 +0000 Subject: [PATCH] add method, correct comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30584 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/BasicBlock.h | 10 +++++++--- lib/VMCore/BasicBlock.cpp | 13 ++++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/include/llvm/BasicBlock.h b/include/llvm/BasicBlock.h index 0f7b3e077e4..551ca4d6c2e 100644 --- a/include/llvm/BasicBlock.h +++ b/include/llvm/BasicBlock.h @@ -109,10 +109,14 @@ public: /// void eraseFromParent(); - /// moveBefore - Unlink this instruction from its current function and - /// insert it into the function that MovePos lives in, right before - /// MovePos. + /// moveBefore - Unlink this basic block from its current function and + /// insert it into the function that MovePos lives in, right before MovePos. void moveBefore(BasicBlock *MovePos); + + /// moveAfter - Unlink this basic block from its current function and + /// insert it into the function that MovePos lives in, right after MovePos. + void moveAfter(BasicBlock *MovePos); + /// getSinglePredecessor - If this basic block has a single predecessor block, /// return the block, otherwise return a null pointer. diff --git a/lib/VMCore/BasicBlock.cpp b/lib/VMCore/BasicBlock.cpp index 5ec497a88e6..afdd79e6aa4 100644 --- a/lib/VMCore/BasicBlock.cpp +++ b/lib/VMCore/BasicBlock.cpp @@ -103,14 +103,21 @@ void BasicBlock::eraseFromParent() { getParent()->getBasicBlockList().erase(this); } -/// moveBefore - Unlink this instruction from its current function and -/// insert it into the function that MovePos lives in, right before -/// MovePos. +/// moveBefore - Unlink this basic block from its current function and +/// insert it into the function that MovePos lives in, right before MovePos. void BasicBlock::moveBefore(BasicBlock *MovePos) { MovePos->getParent()->getBasicBlockList().splice(MovePos, getParent()->getBasicBlockList(), this); } +/// moveAfter - Unlink this basic block from its current function and +/// insert it into the function that MovePos lives in, right after MovePos. +void BasicBlock::moveAfter(BasicBlock *MovePos) { + Function::iterator I = MovePos; + MovePos->getParent()->getBasicBlockList().splice(++I, + getParent()->getBasicBlockList(), this); +} + TerminatorInst *BasicBlock::getTerminator() { if (InstList.empty()) return 0; -- 2.34.1