LLVM 20.0.0git
|
A basic block represents a single entry single exit section of code. More...
Functions | |
LLVMValueRef | LLVMBasicBlockAsValue (LLVMBasicBlockRef BB) |
Convert a basic block instance to a value type. | |
LLVMBool | LLVMValueIsBasicBlock (LLVMValueRef Val) |
Determine whether an LLVMValueRef is itself a basic block. | |
LLVMBasicBlockRef | LLVMValueAsBasicBlock (LLVMValueRef Val) |
Convert an LLVMValueRef to an LLVMBasicBlockRef instance. | |
const char * | LLVMGetBasicBlockName (LLVMBasicBlockRef BB) |
Obtain the string name of a basic block. | |
LLVMValueRef | LLVMGetBasicBlockParent (LLVMBasicBlockRef BB) |
Obtain the function to which a basic block belongs. | |
LLVMValueRef | LLVMGetBasicBlockTerminator (LLVMBasicBlockRef BB) |
Obtain the terminator instruction for a basic block. | |
unsigned | LLVMCountBasicBlocks (LLVMValueRef Fn) |
Obtain the number of basic blocks in a function. | |
void | LLVMGetBasicBlocks (LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks) |
Obtain all of the basic blocks in a function. | |
LLVMBasicBlockRef | LLVMGetFirstBasicBlock (LLVMValueRef Fn) |
Obtain the first basic block in a function. | |
LLVMBasicBlockRef | LLVMGetLastBasicBlock (LLVMValueRef Fn) |
Obtain the last basic block in a function. | |
LLVMBasicBlockRef | LLVMGetNextBasicBlock (LLVMBasicBlockRef BB) |
Advance a basic block iterator. | |
LLVMBasicBlockRef | LLVMGetPreviousBasicBlock (LLVMBasicBlockRef BB) |
Go backwards in a basic block iterator. | |
LLVMBasicBlockRef | LLVMGetEntryBasicBlock (LLVMValueRef Fn) |
Obtain the basic block that corresponds to the entry point of a function. | |
void | LLVMInsertExistingBasicBlockAfterInsertBlock (LLVMBuilderRef Builder, LLVMBasicBlockRef BB) |
Insert the given basic block after the insertion point of the given builder. | |
void | LLVMAppendExistingBasicBlock (LLVMValueRef Fn, LLVMBasicBlockRef BB) |
Append the given basic block to the basic block list of the given function. | |
LLVMBasicBlockRef | LLVMCreateBasicBlockInContext (LLVMContextRef C, const char *Name) |
Create a new basic block without inserting it into a function. | |
LLVMBasicBlockRef | LLVMAppendBasicBlockInContext (LLVMContextRef C, LLVMValueRef Fn, const char *Name) |
Append a basic block to the end of a function. | |
LLVMBasicBlockRef | LLVMAppendBasicBlock (LLVMValueRef Fn, const char *Name) |
Append a basic block to the end of a function using the global context. | |
LLVMBasicBlockRef | LLVMInsertBasicBlockInContext (LLVMContextRef C, LLVMBasicBlockRef BB, const char *Name) |
Insert a basic block in a function before another basic block. | |
LLVMBasicBlockRef | LLVMInsertBasicBlock (LLVMBasicBlockRef InsertBeforeBB, const char *Name) |
Insert a basic block in a function using the global context. | |
void | LLVMDeleteBasicBlock (LLVMBasicBlockRef BB) |
Remove a basic block from a function and delete it. | |
void | LLVMRemoveBasicBlockFromParent (LLVMBasicBlockRef BB) |
Remove a basic block from a function. | |
void | LLVMMoveBasicBlockBefore (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos) |
Move a basic block to before another one. | |
void | LLVMMoveBasicBlockAfter (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos) |
Move a basic block to after another one. | |
LLVMValueRef | LLVMGetFirstInstruction (LLVMBasicBlockRef BB) |
Obtain the first instruction in a basic block. | |
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.
LLVMBasicBlockRef LLVMAppendBasicBlock | ( | LLVMValueRef | Fn, |
const char * | Name | ||
) |
Append a basic block to the end of a function using the global context.
Definition at line 2866 of file Core.cpp.
References LLVMAppendBasicBlockInContext(), LLVMGetGlobalContext(), and Name.
LLVMBasicBlockRef LLVMAppendBasicBlockInContext | ( | LLVMContextRef | C, |
LLVMValueRef | Fn, | ||
const char * | Name | ||
) |
Append a basic block to the end of a function.
Definition at line 2860 of file Core.cpp.
References llvm::CallingConv::C, llvm::BasicBlock::Create(), Name, unwrap(), and llvm::wrap().
Referenced by LLVMAppendBasicBlock().
void LLVMAppendExistingBasicBlock | ( | LLVMValueRef | Fn, |
LLVMBasicBlockRef | BB | ||
) |
LLVMValueRef LLVMBasicBlockAsValue | ( | LLVMBasicBlockRef | BB | ) |
Convert a basic block instance to a value type.
Definition at line 2772 of file Core.cpp.
References unwrap(), and llvm::wrap().
unsigned LLVMCountBasicBlocks | ( | LLVMValueRef | Fn | ) |
LLVMBasicBlockRef LLVMCreateBasicBlockInContext | ( | LLVMContextRef | C, |
const char * | Name | ||
) |
Create a new basic block without inserting it into a function.
Definition at line 2842 of file Core.cpp.
References llvm::CallingConv::C, llvm::BasicBlock::Create(), Name, unwrap(), and llvm::wrap().
void LLVMDeleteBasicBlock | ( | LLVMBasicBlockRef | BB | ) |
Remove a basic block from a function and delete it.
This deletes the basic block from its containing function and deletes the basic block itself.
Definition at line 2882 of file Core.cpp.
References llvm::BasicBlock::eraseFromParent(), and unwrap().
const char * LLVMGetBasicBlockName | ( | LLVMBasicBlockRef | BB | ) |
Obtain the string name of a basic block.
Definition at line 2784 of file Core.cpp.
References llvm::StringRef::data(), llvm::Value::getName(), and unwrap().
LLVMValueRef LLVMGetBasicBlockParent | ( | LLVMBasicBlockRef | BB | ) |
Obtain the function to which a basic block belongs.
Definition at line 2788 of file Core.cpp.
References getParent(), unwrap(), and llvm::wrap().
void LLVMGetBasicBlocks | ( | LLVMValueRef | Fn, |
LLVMBasicBlockRef * | BasicBlocks | ||
) |
Obtain all of the basic blocks in a function.
This operates on a function value. The BasicBlocks parameter is a pointer to a pre-allocated array of LLVMBasicBlockRef of at least LLVMCountBasicBlocks() in length. This array is populated with LLVMBasicBlockRef instances.
Definition at line 2800 of file Core.cpp.
References llvm::wrap().
LLVMValueRef LLVMGetBasicBlockTerminator | ( | LLVMBasicBlockRef | BB | ) |
Obtain the terminator instruction for a basic block.
If the basic block does not have a terminator (it is not well-formed if it doesn't), then NULL is returned.
The returned LLVMValueRef corresponds to an llvm::Instruction.
Definition at line 2792 of file Core.cpp.
References unwrap(), and llvm::wrap().
LLVMBasicBlockRef LLVMGetEntryBasicBlock | ( | LLVMValueRef | Fn | ) |
Obtain the basic block that corresponds to the entry point of a function.
Definition at line 2806 of file Core.cpp.
References llvm::wrap().
LLVMBasicBlockRef LLVMGetFirstBasicBlock | ( | LLVMValueRef | Fn | ) |
Obtain the first basic block in a function.
The returned basic block can be used as an iterator. You will likely eventually call into LLVMGetNextBasicBlock() with it.
Definition at line 2810 of file Core.cpp.
References I, and llvm::wrap().
LLVMValueRef LLVMGetFirstInstruction | ( | LLVMBasicBlockRef | BB | ) |
Obtain the first instruction in a basic block.
The returned LLVMValueRef corresponds to a llvm::Instruction instance.
Definition at line 2904 of file Core.cpp.
References llvm::Block, I, unwrap(), and llvm::wrap().
LLVMBasicBlockRef LLVMGetLastBasicBlock | ( | LLVMValueRef | Fn | ) |
Obtain the last basic block in a function.
Definition at line 2818 of file Core.cpp.
References I, and llvm::wrap().
LLVMValueRef LLVMGetLastInstruction | ( | LLVMBasicBlockRef | BB | ) |
Obtain the last instruction in a basic block.
The returned LLVMValueRef corresponds to an LLVM:Instruction.
Definition at line 2912 of file Core.cpp.
References llvm::Block, I, unwrap(), and llvm::wrap().
LLVMBasicBlockRef LLVMGetNextBasicBlock | ( | LLVMBasicBlockRef | BB | ) |
Advance a basic block iterator.
Definition at line 2826 of file Core.cpp.
References llvm::Block, I, unwrap(), and llvm::wrap().
LLVMBasicBlockRef LLVMGetPreviousBasicBlock | ( | LLVMBasicBlockRef | BB | ) |
Go backwards in a basic block iterator.
Definition at line 2834 of file Core.cpp.
References llvm::Block, I, unwrap(), and llvm::wrap().
LLVMBasicBlockRef LLVMInsertBasicBlock | ( | LLVMBasicBlockRef | InsertBeforeBB, |
const char * | Name | ||
) |
Insert a basic block in a function using the global context.
Definition at line 2877 of file Core.cpp.
References LLVMGetGlobalContext(), LLVMInsertBasicBlockInContext(), and Name.
LLVMBasicBlockRef LLVMInsertBasicBlockInContext | ( | LLVMContextRef | C, |
LLVMBasicBlockRef | BB, | ||
const char * | Name | ||
) |
Insert a basic block in a function before another basic block.
The function to add to is determined by the function of the passed basic block.
Definition at line 2870 of file Core.cpp.
References llvm::CallingConv::C, llvm::BasicBlock::Create(), llvm::BasicBlock::getParent(), Name, unwrap(), and llvm::wrap().
Referenced by LLVMInsertBasicBlock().
void LLVMInsertExistingBasicBlockAfterInsertBlock | ( | LLVMBuilderRef | Builder, |
LLVMBasicBlockRef | BB | ||
) |
Insert the given basic block after the insertion point of the given builder.
The insertion point must be valid.
Definition at line 2847 of file Core.cpp.
References assert(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::BasicBlock::getParent(), llvm::Function::insert(), and unwrap().
void LLVMMoveBasicBlockAfter | ( | LLVMBasicBlockRef | BB, |
LLVMBasicBlockRef | MovePos | ||
) |
Move a basic block to after another one.
Definition at line 2894 of file Core.cpp.
References llvm::BasicBlock::moveAfter(), and unwrap().
void LLVMMoveBasicBlockBefore | ( | LLVMBasicBlockRef | BB, |
LLVMBasicBlockRef | MovePos | ||
) |
Move a basic block to before another one.
Definition at line 2890 of file Core.cpp.
References llvm::BasicBlock::moveBefore(), and unwrap().
void LLVMRemoveBasicBlockFromParent | ( | LLVMBasicBlockRef | BB | ) |
Remove a basic block from a function.
This deletes the basic block from its containing function but keep the basic block alive.
Definition at line 2886 of file Core.cpp.
References llvm::BasicBlock::removeFromParent(), and unwrap().
LLVMBasicBlockRef LLVMValueAsBasicBlock | ( | LLVMValueRef | Val | ) |
Convert an LLVMValueRef to an LLVMBasicBlockRef instance.
Definition at line 2780 of file Core.cpp.
References llvm::wrap().
LLVMBool LLVMValueIsBasicBlock | ( | LLVMValueRef | Val | ) |