add moveBefore/moveAfter helper methods

llvm-svn: 31145
diff --git a/llvm/lib/CodeGen/MachineBasicBlock.cpp b/llvm/lib/CodeGen/MachineBasicBlock.cpp
index ebd492c..fcc0129 100644
--- a/llvm/lib/CodeGen/MachineBasicBlock.cpp
+++ b/llvm/lib/CodeGen/MachineBasicBlock.cpp
@@ -120,6 +120,18 @@
   }
 }
 
+void MachineBasicBlock::moveBefore(MachineBasicBlock *NewAfter) {
+  MachineFunction::BasicBlockListType &BBList =getParent()->getBasicBlockList();
+  getParent()->getBasicBlockList().splice(NewAfter, BBList, this);
+}
+
+void MachineBasicBlock::moveAfter(MachineBasicBlock *NewBefore) {
+  MachineFunction::BasicBlockListType &BBList =getParent()->getBasicBlockList();
+  MachineFunction::iterator BBI = NewBefore;
+  getParent()->getBasicBlockList().splice(++BBI, BBList, this);
+}
+
+
 void MachineBasicBlock::addSuccessor(MachineBasicBlock *succ) {
   Successors.push_back(succ);
   succ->addPredecessor(this);