|
LLVM 23.0.0git
|
A basic block represents a single entry single exit section of code. More...
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.
| LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED | ( | LLVMBasicBlockRef | LLVMAppendBasicBlockLLVMValueRef 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.
References C(), const, LLVM_ATTRIBUTE_C_DEPRECATED, LLVM_C_ABI, LLVMAppendBasicBlock(), and LLVMInsertBasicBlockInContext().
| LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED | ( | LLVMBasicBlockRef | LLVMInsertBasicBlockLLVMBasicBlockRef 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.
References A(), B(), block, C(), Cond, const, GEP, LLVM_ATTRIBUTE_C_DEPRECATED, LLVM_C_ABI, LLVMAddCallSiteAttribute(), LLVMAddIncoming(), LLVMCountIncoming(), LLVMCreateBuilderInContext(), LLVMDbgRecordGetDebugLoc(), LLVMDbgRecordGetKind(), LLVMDbgVariableRecordGetExpression(), LLVMDbgVariableRecordGetValue(), LLVMDbgVariableRecordGetVariable(), LLVMDeleteBasicBlock(), LLVMDeleteInstruction(), LLVMGEPGetNoWrapFlags(), LLVMGEPSetNoWrapFlags(), LLVMGetAllocatedType(), LLVMGetCallBrDefaultDest(), LLVMGetCallBrIndirectDest(), LLVMGetCallBrNumIndirectDests(), LLVMGetCalledFunctionType(), LLVMGetCalledValue(), LLVMGetCallSiteAttributeCount(), LLVMGetCallSiteAttributes(), LLVMGetCallSiteEnumAttribute(), LLVMGetCallSiteStringAttribute(), LLVMGetCondition(), LLVMGetFCmpPredicate(), LLVMGetFirstDbgRecord(), LLVMGetFirstInstruction(), LLVMGetGEPSourceElementType(), LLVMGetICmpPredicate(), LLVMGetICmpSameSign(), LLVMGetIncomingBlock(), LLVMGetIncomingValue(), LLVMGetIndices(), LLVMGetInstructionCallConv(), LLVMGetInstructionOpcode(), LLVMGetInstructionParent(), LLVMGetLastDbgRecord(), LLVMGetLastInstruction(), LLVMGetMetadata(), LLVMGetNextDbgRecord(), LLVMGetNextInstruction(), LLVMGetNormalDest(), LLVMGetNumArgOperands(), LLVMGetNumIndices(), LLVMGetNumOperandBundles(), LLVMGetNumSuccessors(), LLVMGetOperandBundleAtIndex(), LLVMGetPreviousDbgRecord(), LLVMGetPreviousInstruction(), LLVMGetSuccessor(), LLVMGetSwitchCaseValue(), LLVMGetSwitchDefaultDest(), LLVMGetTailCallKind(), LLVMGetUnwindDest(), LLVMHasMetadata(), LLVMInsertBasicBlock(), LLVMInstructionClone(), LLVMInstructionEraseFromParent(), LLVMInstructionGetAllMetadataOtherThanDebugLoc(), LLVMInstructionRemoveFromParent(), LLVMIsATerminatorInst(), LLVMIsConditional(), LLVMIsInBounds(), LLVMIsTailCall(), LLVMMoveBasicBlockAfter(), LLVMMoveBasicBlockBefore(), LLVMRemoveBasicBlockFromParent(), LLVMRemoveCallSiteEnumAttribute(), LLVMRemoveCallSiteStringAttribute(), LLVMSetCondition(), LLVMSetICmpSameSign(), LLVMSetInstrParamAlignment(), LLVMSetInstructionCallConv(), LLVMSetIsInBounds(), LLVMSetMetadata(), LLVMSetNormalDest(), LLVMSetSuccessor(), LLVMSetSwitchCaseValue(), LLVMSetTailCall(), LLVMSetTailCallKind(), LLVMSetUnwindDest(), and OpIdx.
| LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlockInContext | ( | LLVMContextRef | C, |
| LLVMValueRef | Fn, | ||
| const char * | Name ) |
Append a basic block to the end of a function.
Definition at line 2950 of file Core.cpp.
References llvm::CallingConv::C, llvm::BasicBlock::Create(), llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED(), and LLVMAppendBasicBlock().
| LLVM_C_ABI void LLVMAppendExistingBasicBlock | ( | LLVMValueRef | Fn, |
| LLVMBasicBlockRef | BB ) |
Append the given basic block to the basic block list of the given function.
Definition at line 2945 of file Core.cpp.
References llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMValueRef LLVMBasicBlockAsValue | ( | LLVMBasicBlockRef | BB | ) |
Convert a basic block instance to a value type.
Definition at line 2862 of file Core.cpp.
References llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI unsigned LLVMCountBasicBlocks | ( | LLVMValueRef | Fn | ) |
Obtain the number of basic blocks in a function.
| Fn | Function value to operate on. |
Definition at line 2886 of file Core.cpp.
References llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMBasicBlockRef LLVMCreateBasicBlockInContext | ( | LLVMContextRef | C, |
| const char * | Name ) |
Create a new basic block without inserting it into a function.
Definition at line 2932 of file Core.cpp.
References llvm::CallingConv::C, llvm::BasicBlock::Create(), llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI 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 2972 of file Core.cpp.
References llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI const char * LLVMGetBasicBlockName | ( | LLVMBasicBlockRef | BB | ) |
Obtain the string name of a basic block.
Definition at line 2874 of file Core.cpp.
References llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMValueRef LLVMGetBasicBlockParent | ( | LLVMBasicBlockRef | BB | ) |
Obtain the function to which a basic block belongs.
Definition at line 2878 of file Core.cpp.
References getParent(), llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI 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 2890 of file Core.cpp.
References llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI 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 2882 of file Core.cpp.
References llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMBasicBlockRef LLVMGetEntryBasicBlock | ( | LLVMValueRef | Fn | ) |
Obtain the basic block that corresponds to the entry point of a function.
Definition at line 2896 of file Core.cpp.
References llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI 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 2900 of file Core.cpp.
References I, llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMValueRef LLVMGetFirstInstruction | ( | LLVMBasicBlockRef | BB | ) |
Obtain the first instruction in a basic block.
The returned LLVMValueRef corresponds to a llvm::Instruction instance.
Definition at line 2994 of file Core.cpp.
References llvm::Block, I, llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMBasicBlockRef LLVMGetLastBasicBlock | ( | LLVMValueRef | Fn | ) |
Obtain the last basic block in a function.
Definition at line 2908 of file Core.cpp.
References I, llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMValueRef LLVMGetLastInstruction | ( | LLVMBasicBlockRef | BB | ) |
Obtain the last instruction in a basic block.
The returned LLVMValueRef corresponds to an LLVM:Instruction.
Definition at line 3002 of file Core.cpp.
References llvm::Block, I, llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMBasicBlockRef LLVMGetNextBasicBlock | ( | LLVMBasicBlockRef | BB | ) |
Advance a basic block iterator.
Definition at line 2916 of file Core.cpp.
References llvm::Block, I, llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMBasicBlockRef LLVMGetPreviousBasicBlock | ( | LLVMBasicBlockRef | BB | ) |
Go backwards in a basic block iterator.
Definition at line 2924 of file Core.cpp.
References llvm::Block, I, llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI 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 2960 of file Core.cpp.
References llvm::CallingConv::C, llvm::BasicBlock::Create(), llvm::BasicBlock::getParent(), llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED(), and LLVMInsertBasicBlock().
| LLVM_C_ABI 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 2937 of file Core.cpp.
References assert(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::BasicBlock::getParent(), llvm::Function::insert(), and llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI void LLVMMoveBasicBlockAfter | ( | LLVMBasicBlockRef | BB, |
| LLVMBasicBlockRef | MovePos ) |
Move a basic block to after another one.
Definition at line 2984 of file Core.cpp.
References llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI void LLVMMoveBasicBlockBefore | ( | LLVMBasicBlockRef | BB, |
| LLVMBasicBlockRef | MovePos ) |
Move a basic block to before another one.
Definition at line 2980 of file Core.cpp.
References llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI 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 2976 of file Core.cpp.
References llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMBasicBlockRef LLVMValueAsBasicBlock | ( | LLVMValueRef | Val | ) |
Convert an LLVMValueRef to an LLVMBasicBlockRef instance.
Definition at line 2870 of file Core.cpp.
References llvm::unwrap(), and llvm::wrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().
| LLVM_C_ABI LLVMBool LLVMValueIsBasicBlock | ( | LLVMValueRef | Val | ) |
Determine whether an LLVMValueRef is itself a basic block.
Definition at line 2866 of file Core.cpp.
References llvm::isa(), and llvm::unwrap().
Referenced by LLVM_ATTRIBUTE_C_DEPRECATED().