From b4baa5602d15f59a11927832cfd4e6592fabd281 Mon Sep 17 00:00:00 2001 From: Robert Widmann Date: Fri, 5 Apr 2019 20:32:43 +0000 Subject: [LLVM-C] Add bindings to insert basic blocks Summary: Now that we can create standalone basic blocks, it's useful to be able to append them. Add bindings to - Insert a basic block after the current insertion block - Append a basic block to the end of a function's list of basic blocks Reviewers: whitequark, deadalnix, harlanhaskins Reviewed By: whitequark, harlanhaskins Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D59658 llvm-svn: 357812 --- llvm/include/llvm-c/Core.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'llvm/include/llvm-c') diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h index 393250f7f8c..6adb4d80011 100644 --- a/llvm/include/llvm-c/Core.h +++ b/llvm/include/llvm-c/Core.h @@ -2916,6 +2916,24 @@ LLVMBasicBlockRef LLVMGetPreviousBasicBlock(LLVMBasicBlockRef BB); */ LLVMBasicBlockRef LLVMGetEntryBasicBlock(LLVMValueRef Fn); +/** + * Insert the given basic block after the insertion point of the given builder. + * + * The insertion point must be valid. + * + * @see llvm::Function::BasicBlockListType::insertAfter() + */ +void LLVMInsertExistingBasicBlockAfterInsertBlock(LLVMBuilderRef Builder, + LLVMBasicBlockRef BB); + +/** + * Append the given basic block to the basic block list of the given function. + * + * @see llvm::Function::BasicBlockListType::push_back() + */ +void LLVMAppendExistingBasicBlock(LLVMValueRef Fn, + LLVMBasicBlockRef BB); + /** * Create a new basic block without inserting it into a function. * -- cgit v1.2.3