LLVM API Documentation
|
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 1639 of file Core.cpp.
References LLVMAppendBasicBlockInContext(), and LLVMGetGlobalContext().
| LLVMBasicBlockRef LLVMAppendBasicBlockInContext | ( | LLVMContextRef | C, |
| LLVMValueRef | Fn, | ||
| const char * | Name | ||
| ) |
Append a basic block to the end of a function.
Definition at line 1633 of file Core.cpp.
References llvm::BasicBlock::Create(), llvm::unwrap(), and llvm::wrap().
Referenced by LLVMAppendBasicBlock().
| LLVMValueRef LLVMBasicBlockAsValue | ( | LLVMBasicBlockRef | BB | ) |
Convert a basic block instance to a value type.
Definition at line 1567 of file Core.cpp.
References llvm::unwrap(), and llvm::wrap().
| unsigned LLVMCountBasicBlocks | ( | LLVMValueRef | Fn | ) |
| 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 1655 of file Core.cpp.
References llvm::unwrap().
| LLVMValueRef LLVMGetBasicBlockParent | ( | LLVMBasicBlockRef | BB | ) |
Obtain the function to which a basic block belongs.
Definition at line 1579 of file Core.cpp.
References getParent(), llvm::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 1591 of file Core.cpp.
References llvm::Function::begin(), llvm::Function::end(), I, and 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 a llvm::TerminatorInst.
Definition at line 1583 of file Core.cpp.
References llvm::unwrap(), and llvm::wrap().
| LLVMBasicBlockRef LLVMGetEntryBasicBlock | ( | LLVMValueRef | Fn | ) |
Obtain the basic block that corresponds to the entry point of a function.
Definition at line 1597 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 1601 of file Core.cpp.
References llvm::Function::begin(), llvm::Function::end(), 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 1677 of file Core.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::end(), I, llvm::unwrap(), and llvm::wrap().
| LLVMBasicBlockRef LLVMGetLastBasicBlock | ( | LLVMValueRef | Fn | ) |
Obtain the last basic block in a function.
Definition at line 1609 of file Core.cpp.
References llvm::Function::begin(), llvm::Function::end(), I, and llvm::wrap().
| LLVMValueRef LLVMGetLastInstruction | ( | LLVMBasicBlockRef | BB | ) |
Obtain the last instruction in a basic block.
The returned LLVMValueRef corresponds to a LLVM:Instruction.
Definition at line 1685 of file Core.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::end(), I, llvm::unwrap(), and llvm::wrap().
| LLVMBasicBlockRef LLVMGetNextBasicBlock | ( | LLVMBasicBlockRef | BB | ) |
Advance a basic block iterator.
Definition at line 1617 of file Core.cpp.
References llvm::Function::end(), llvm::BasicBlock::getParent(), I, llvm::unwrap(), and llvm::wrap().
| LLVMBasicBlockRef LLVMGetPreviousBasicBlock | ( | LLVMBasicBlockRef | BB | ) |
Go backwards in a basic block iterator.
Definition at line 1625 of file Core.cpp.
References llvm::Function::begin(), llvm::BasicBlock::getParent(), I, llvm::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 1650 of file Core.cpp.
References LLVMGetGlobalContext(), and LLVMInsertBasicBlockInContext().
| 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 1643 of file Core.cpp.
References llvm::BasicBlock::Create(), llvm::BasicBlock::getParent(), llvm::unwrap(), and llvm::wrap().
Referenced by LLVMInsertBasicBlock().
| void LLVMMoveBasicBlockAfter | ( | LLVMBasicBlockRef | BB, |
| LLVMBasicBlockRef | MovePos | ||
| ) |
Move a basic block to after another one.
Definition at line 1667 of file Core.cpp.
References llvm::unwrap().
| void LLVMMoveBasicBlockBefore | ( | LLVMBasicBlockRef | BB, |
| LLVMBasicBlockRef | MovePos | ||
| ) |
Move a basic block to before another one.
Definition at line 1663 of file Core.cpp.
References llvm::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 1659 of file Core.cpp.
References llvm::unwrap().
| LLVMBasicBlockRef LLVMValueAsBasicBlock | ( | LLVMValueRef | Val | ) |
Convert a LLVMValueRef to a LLVMBasicBlockRef instance.
Definition at line 1575 of file Core.cpp.
References llvm::wrap().
| LLVMBool LLVMValueIsBasicBlock | ( | LLVMValueRef | Val | ) |
Determine whether a LLVMValueRef is itself a basic block.
Definition at line 1571 of file Core.cpp.
References llvm::unwrap().