From 837a0c3b052cdbfd7b212d9e9f570f7aaf864b44 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Mon, 19 Jul 2010 15:31:07 +0000 Subject: [PATCH] Expose BasicBlock::moveBefore and moveAfter in C API, patch by Benjamin Saunders. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108699 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm-c/Core.h | 3 +++ lib/VMCore/Core.cpp | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index 117f2d6dcff..99de9e33987 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -750,6 +750,9 @@ LLVMBasicBlockRef LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB, const char *Name); void LLVMDeleteBasicBlock(LLVMBasicBlockRef BB); +void LLVMMoveBasicBlockBefore(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos); +void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos); + /* Operations on instructions */ LLVMBasicBlockRef LLVMGetInstructionParent(LLVMValueRef Inst); LLVMValueRef LLVMGetFirstInstruction(LLVMBasicBlockRef BB); diff --git a/lib/VMCore/Core.cpp b/lib/VMCore/Core.cpp index ca1a399fe8a..39f3d591a78 100644 --- a/lib/VMCore/Core.cpp +++ b/lib/VMCore/Core.cpp @@ -1515,6 +1515,14 @@ void LLVMDeleteBasicBlock(LLVMBasicBlockRef BBRef) { unwrap(BBRef)->eraseFromParent(); } +void LLVMMoveBasicBlockBefore(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos) { + unwrap(BB)->moveBefore(unwrap(MovePos)); +} + +void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos) { + unwrap(BB)->moveAfter(unwrap(MovePos)); +} + /*--.. Operations on instructions ..........................................--*/ LLVMBasicBlockRef LLVMGetInstructionParent(LLVMValueRef Inst) { -- 2.34.1