LLVM 20.0.0git
|
Functions in this group relate to the inspection and manipulation of individual instructions. More...
Modules | |
Call Sites and Invocations | |
Functions in this group apply to instructions that refer to call sites and invocations. | |
Terminators | |
Functions in this group only apply to instructions for which LLVMIsATerminatorInst returns true. | |
Allocas | |
Functions in this group only apply to instructions that map to llvm::AllocaInst instances. | |
GEPs | |
Functions in this group only apply to instructions that map to llvm::GetElementPtrInst instances. | |
PHI Nodes | |
Functions in this group only apply to instructions that map to llvm::PHINode instances. | |
ExtractValue | |
InsertValue | |
Functions in this group only apply to instructions that map to llvm::ExtractValue and llvm::InsertValue instances. | |
Functions | |
int | LLVMHasMetadata (LLVMValueRef Val) |
Determine whether an instruction has any metadata attached. | |
LLVMValueRef | LLVMGetMetadata (LLVMValueRef Val, unsigned KindID) |
Return metadata associated with an instruction value. | |
void | LLVMSetMetadata (LLVMValueRef Val, unsigned KindID, LLVMValueRef Node) |
Set metadata associated with an instruction value. | |
LLVMValueMetadataEntry * | LLVMInstructionGetAllMetadataOtherThanDebugLoc (LLVMValueRef Instr, size_t *NumEntries) |
Returns the metadata associated with an instruction value, but filters out all the debug locations. | |
LLVMBasicBlockRef | LLVMGetInstructionParent (LLVMValueRef Inst) |
Obtain the basic block to which an instruction belongs. | |
LLVMValueRef | LLVMGetNextInstruction (LLVMValueRef Inst) |
Obtain the instruction that occurs after the one specified. | |
LLVMValueRef | LLVMGetPreviousInstruction (LLVMValueRef Inst) |
Obtain the instruction that occurred before this one. | |
void | LLVMInstructionRemoveFromParent (LLVMValueRef Inst) |
Remove an instruction. | |
void | LLVMInstructionEraseFromParent (LLVMValueRef Inst) |
Remove and delete an instruction. | |
void | LLVMDeleteInstruction (LLVMValueRef Inst) |
Delete an instruction. | |
LLVMOpcode | LLVMGetInstructionOpcode (LLVMValueRef Inst) |
Obtain the code opcode for an individual instruction. | |
LLVMIntPredicate | LLVMGetICmpPredicate (LLVMValueRef Inst) |
Obtain the predicate of an instruction. | |
LLVMRealPredicate | LLVMGetFCmpPredicate (LLVMValueRef Inst) |
Obtain the float predicate of an instruction. | |
LLVMValueRef | LLVMInstructionClone (LLVMValueRef Inst) |
Create a copy of 'this' instruction that is identical in all ways except the following: | |
LLVMValueRef | LLVMIsATerminatorInst (LLVMValueRef Inst) |
Determine whether an instruction is a terminator. | |
LLVMDbgRecordRef | LLVMGetFirstDbgRecord (LLVMValueRef Inst) |
Obtain the first debug record attached to an instruction. | |
LLVMDbgRecordRef | LLVMGetLastDbgRecord (LLVMValueRef Inst) |
Obtain the last debug record attached to an instruction. | |
LLVMDbgRecordRef | LLVMGetNextDbgRecord (LLVMDbgRecordRef DbgRecord) |
Obtain the next DbgRecord in the sequence or NULL if there are no more. | |
LLVMDbgRecordRef | LLVMGetPreviousDbgRecord (LLVMDbgRecordRef DbgRecord) |
Obtain the previous DbgRecord in the sequence or NULL if there are no more. | |
Functions in this group relate to the inspection and manipulation of individual instructions.
In the C++ API, an instruction is modeled by llvm::Instruction. This class has a large number of descendents. llvm::Instruction is a llvm::Value and in the C API, instructions are modeled by LLVMValueRef.
This group also contains sub-groups which operate on specific llvm::Instruction types, e.g. llvm::CallInst.
void LLVMDeleteInstruction | ( | LLVMValueRef | Inst | ) |
Delete an instruction.
The instruction specified is deleted. It must have previously been removed from its containing building block.
LLVMRealPredicate LLVMGetFCmpPredicate | ( | LLVMValueRef | Inst | ) |
Obtain the float predicate of an instruction.
This is only valid for instructions that correspond to llvm::FCmpInst.
LLVMDbgRecordRef LLVMGetFirstDbgRecord | ( | LLVMValueRef | Inst | ) |
Obtain the first debug record attached to an instruction.
Use LLVMGetNextDbgRecord() and LLVMGetPreviousDbgRecord() to traverse the sequence of DbgRecords.
Return the first DbgRecord attached to Inst or NULL if there are none.
Definition at line 2977 of file Core.cpp.
References I, and llvm::wrap().
LLVMIntPredicate LLVMGetICmpPredicate | ( | LLVMValueRef | Inst | ) |
Obtain the predicate of an instruction.
This is only valid for instructions that correspond to llvm::ICmpInst.
LLVMOpcode LLVMGetInstructionOpcode | ( | LLVMValueRef | Inst | ) |
Obtain the code opcode for an individual instruction.
Definition at line 2960 of file Core.cpp.
References llvm::CallingConv::C, map_to_llvmopcode(), and unwrap().
LLVMBasicBlockRef LLVMGetInstructionParent | ( | LLVMValueRef | Inst | ) |
Obtain the basic block to which an instruction belongs.
Definition at line 2900 of file Core.cpp.
References getParent(), and llvm::wrap().
LLVMDbgRecordRef LLVMGetLastDbgRecord | ( | LLVMValueRef | Inst | ) |
Obtain the last debug record attached to an instruction.
Return the last DbgRecord attached to Inst or NULL if there are none.
Definition at line 2985 of file Core.cpp.
References I, and llvm::wrap().
LLVMValueRef LLVMGetMetadata | ( | LLVMValueRef | Val, |
unsigned | KindID | ||
) |
Return metadata associated with an instruction value.
Definition at line 1080 of file Core.cpp.
References assert(), llvm::MetadataAsValue::get(), I, and llvm::wrap().
LLVMDbgRecordRef LLVMGetNextDbgRecord | ( | LLVMDbgRecordRef | DbgRecord | ) |
Obtain the next DbgRecord in the sequence or NULL if there are no more.
Definition at line 2993 of file Core.cpp.
References I, and llvm::wrap().
LLVMValueRef LLVMGetNextInstruction | ( | LLVMValueRef | Inst | ) |
Obtain the instruction that occurs after the one specified.
The next instruction will be from the same basic block.
If this is the last instruction in a basic block, NULL will be returned.
Definition at line 2920 of file Core.cpp.
References I, and llvm::wrap().
LLVMDbgRecordRef LLVMGetPreviousDbgRecord | ( | LLVMDbgRecordRef | DbgRecord | ) |
Obtain the previous DbgRecord in the sequence or NULL if there are no more.
Definition at line 3001 of file Core.cpp.
References I, and llvm::wrap().
LLVMValueRef LLVMGetPreviousInstruction | ( | LLVMValueRef | Inst | ) |
Obtain the instruction that occurred before this one.
If the instruction is the first instruction in a basic block, NULL will be returned.
Definition at line 2928 of file Core.cpp.
References I, and llvm::wrap().
int LLVMHasMetadata | ( | LLVMValueRef | Val | ) |
LLVMValueRef LLVMInstructionClone | ( | LLVMValueRef | Inst | ) |
Create a copy of 'this' instruction that is identical in all ways except the following:
Definition at line 2966 of file Core.cpp.
References llvm::CallingConv::C, unwrap(), and llvm::wrap().
void LLVMInstructionEraseFromParent | ( | LLVMValueRef | Inst | ) |
Remove and delete an instruction.
The instruction specified is removed from its containing building block and then deleted.
LLVMValueMetadataEntry * LLVMInstructionGetAllMetadataOtherThanDebugLoc | ( | LLVMValueRef | Instr, |
size_t * | NumEntries | ||
) |
Returns the metadata associated with an instruction value, but filters out all the debug locations.
Definition at line 1133 of file Core.cpp.
References llvm_getMetadata().
void LLVMInstructionRemoveFromParent | ( | LLVMValueRef | Inst | ) |
Remove an instruction.
The instruction specified is removed from its containing building block but is kept alive.
LLVMValueRef LLVMIsATerminatorInst | ( | LLVMValueRef | Inst | ) |
Determine whether an instruction is a terminator.
This routine is named to be compatible with historical functions that did this by querying the underlying C++ type.
Definition at line 2972 of file Core.cpp.
References I, unwrap(), and llvm::wrap().
void LLVMSetMetadata | ( | LLVMValueRef | Val, |
unsigned | KindID, | ||
LLVMValueRef | Node | ||
) |
Set metadata associated with an instruction value.
Definition at line 1102 of file Core.cpp.
References extractMDNode(), and N.