LLVM: Basic Block (original) (raw)

A basic block represents a single entry single exit section of code. More...

Functions
LLVM_C_ABI LLVMValueRef LLVMBasicBlockAsValue (LLVMBasicBlockRef BB)
Convert a basic block instance to a value type.
LLVM_C_ABI LLVMBool LLVMValueIsBasicBlock (LLVMValueRef Val)
Determine whether an LLVMValueRef is itself a basic block.
LLVM_C_ABI LLVMBasicBlockRef LLVMValueAsBasicBlock (LLVMValueRef Val)
Convert an LLVMValueRef to an LLVMBasicBlockRef instance.
LLVM_C_ABI const char * LLVMGetBasicBlockName (LLVMBasicBlockRef BB)
Obtain the string name of a basic block.
LLVM_C_ABI LLVMValueRef LLVMGetBasicBlockParent (LLVMBasicBlockRef BB)
Obtain the function to which a basic block belongs.
LLVM_C_ABI LLVMValueRef LLVMGetBasicBlockTerminator (LLVMBasicBlockRef BB)
Obtain the terminator instruction for a basic block.
LLVM_C_ABI unsigned LLVMCountBasicBlocks (LLVMValueRef Fn)
Obtain the number of basic blocks in a function.
LLVM_C_ABI void LLVMGetBasicBlocks (LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks)
Obtain all of the basic blocks in a function.
LLVM_C_ABI LLVMBasicBlockRef LLVMGetFirstBasicBlock (LLVMValueRef Fn)
Obtain the first basic block in a function.
LLVM_C_ABI LLVMBasicBlockRef LLVMGetLastBasicBlock (LLVMValueRef Fn)
Obtain the last basic block in a function.
LLVM_C_ABI LLVMBasicBlockRef LLVMGetNextBasicBlock (LLVMBasicBlockRef BB)
Advance a basic block iterator.
LLVM_C_ABI LLVMBasicBlockRef LLVMGetPreviousBasicBlock (LLVMBasicBlockRef BB)
Go backwards in a basic block iterator.
LLVM_C_ABI LLVMBasicBlockRef LLVMGetEntryBasicBlock (LLVMValueRef Fn)
Obtain the basic block that corresponds to the entry point of a function.
LLVM_C_ABI void LLVMInsertExistingBasicBlockAfterInsertBlock (LLVMBuilderRef Builder, LLVMBasicBlockRef BB)
Insert the given basic block after the insertion point of the given builder.
LLVM_C_ABI void LLVMAppendExistingBasicBlock (LLVMValueRef Fn, LLVMBasicBlockRef BB)
Append the given basic block to the basic block list of the given function.
LLVM_C_ABI LLVMBasicBlockRef LLVMCreateBasicBlockInContext (LLVMContextRef C, const char *Name)
Create a new basic block without inserting it into a function.
LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlockInContext (LLVMContextRef C, LLVMValueRef Fn, const char *Name)
Append a basic block to the end of a function.
LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED (LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn, const char *Name), "Use of the global context is deprecated, use " "LLVMAppendBasicBlockInContext instead")
Append a basic block to the end of a function using the global context.
LLVM_C_ABI LLVMBasicBlockRef LLVMInsertBasicBlockInContext (LLVMContextRef C, LLVMBasicBlockRef BB, const char *Name)
Insert a basic block in a function before another basic block.
LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED (LLVMBasicBlockRef LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB, const char *Name), "Use of the global context is deprecated, use " "LLVMInsertBasicBlockInContext instead")
Insert a basic block in a function using the global context.
LLVM_C_ABI void LLVMDeleteBasicBlock (LLVMBasicBlockRef BB)
Remove a basic block from a function and delete it.
LLVM_C_ABI void LLVMRemoveBasicBlockFromParent (LLVMBasicBlockRef BB)
Remove a basic block from a function.
LLVM_C_ABI void LLVMMoveBasicBlockBefore (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)
Move a basic block to before another one.
LLVM_C_ABI void LLVMMoveBasicBlockAfter (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)
Move a basic block to after another one.
LLVM_C_ABI LLVMValueRef LLVMGetFirstInstruction (LLVMBasicBlockRef BB)
Obtain the first instruction in a basic block.
LLVM_C_ABI LLVMValueRef LLVMGetLastInstruction (LLVMBasicBlockRef BB)
Obtain the last instruction in a basic block.

A basic block represents a single entry single exit section of code.

Basic blocks contain a list of instructions which form the body of the block.

Basic blocks belong to functions. They have the type of label.

Basic blocks are themselves values. However, the C API models them as LLVMBasicBlockRef.

See also

llvm::BasicBlock

LLVM_ATTRIBUTE_C_DEPRECATED() [1/2]

LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED ( LLVMBasicBlockRef _LLVMAppendBasicBlock_LLVMValueRef Fn, const char *Name,
"Use of the global context is deprecated,
use " "LLVMAppendBasicBlockInContext instead" )

LLVM_ATTRIBUTE_C_DEPRECATED() [2/2]

LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED ( LLVMBasicBlockRef _LLVMInsertBasicBlock_LLVMBasicBlockRef InsertBeforeBB, const char *Name,
"Use of the global context is deprecated,
use " "LLVMInsertBasicBlockInContext instead" )

LLVMAppendBasicBlockInContext()

LLVMAppendExistingBasicBlock()

LLVMBasicBlockAsValue()

LLVMCountBasicBlocks()

Obtain the number of basic blocks in a function.

Parameters

Fn Function value to operate on.

Definition at line 2828 of file Core.cpp.

References llvm::unwrap().

LLVMCreateBasicBlockInContext()

LLVMDeleteBasicBlock()

LLVMGetBasicBlockName()

LLVMGetBasicBlockParent()

LLVMGetBasicBlocks()

LLVMGetBasicBlockTerminator()

LLVMGetEntryBasicBlock()

LLVMGetFirstBasicBlock()

LLVMGetFirstInstruction()

LLVMGetLastBasicBlock()

LLVMGetLastInstruction()

LLVMGetNextBasicBlock()

LLVMGetPreviousBasicBlock()

LLVMInsertBasicBlockInContext()

LLVMInsertExistingBasicBlockAfterInsertBlock()

LLVMMoveBasicBlockAfter()

LLVMMoveBasicBlockBefore()

LLVMRemoveBasicBlockFromParent()

LLVMValueAsBasicBlock()

LLVMValueIsBasicBlock()