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. | |
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.
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().
LLVMValueRef LLVMGetMetadata | ( | LLVMValueRef | Val, |
unsigned | KindID | ||
) |
Return metadata associated with an instruction value.
Definition at line 1078 of file Core.cpp.
References assert(), llvm::MetadataAsValue::get(), 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().
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 1131 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 1100 of file Core.cpp.
References extractMDNode(), and N.