LLVM
8.0.1
|
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. More... | |
LLVMValueRef | LLVMGetMetadata (LLVMValueRef Val, unsigned KindID) |
Return metadata associated with an instruction value. More... | |
void | LLVMSetMetadata (LLVMValueRef Val, unsigned KindID, LLVMValueRef Node) |
Set metadata associated with an instruction value. More... | |
LLVMValueMetadataEntry * | LLVMInstructionGetAllMetadataOtherThanDebugLoc (LLVMValueRef Instr, size_t *NumEntries) |
Returns the metadata associated with an instruction value, but filters out all the debug locations. More... | |
LLVMBasicBlockRef | LLVMGetInstructionParent (LLVMValueRef Inst) |
Obtain the basic block to which an instruction belongs. More... | |
LLVMValueRef | LLVMGetNextInstruction (LLVMValueRef Inst) |
Obtain the instruction that occurs after the one specified. More... | |
LLVMValueRef | LLVMGetPreviousInstruction (LLVMValueRef Inst) |
Obtain the instruction that occurred before this one. More... | |
void | LLVMInstructionRemoveFromParent (LLVMValueRef Inst) |
Remove and delete an instruction. More... | |
void | LLVMInstructionEraseFromParent (LLVMValueRef Inst) |
Remove and delete an instruction. More... | |
LLVMOpcode | LLVMGetInstructionOpcode (LLVMValueRef Inst) |
Obtain the code opcode for an individual instruction. More... | |
LLVMIntPredicate | LLVMGetICmpPredicate (LLVMValueRef Inst) |
Obtain the predicate of an instruction. More... | |
LLVMRealPredicate | LLVMGetFCmpPredicate (LLVMValueRef Inst) |
Obtain the float predicate of an instruction. More... | |
LLVMValueRef | LLVMInstructionClone (LLVMValueRef Inst) |
Create a copy of 'this' instruction that is identical in all ways except the following: More... | |
LLVMValueRef | LLVMIsATerminatorInst (LLVMValueRef Inst) |
Determine whether an instruction is a terminator. 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.
LLVMRealPredicate LLVMGetFCmpPredicate | ( | LLVMValueRef | Inst | ) |
Obtain the float predicate of an instruction.
This is only valid for instructions that correspond to llvm::FCmpInst or llvm::ConstantExpr whose opcode is llvm::Instruction::FCmp.
Definition at line 2637 of file Core.cpp.
References I, and llvm::unwrap().
LLVMIntPredicate LLVMGetICmpPredicate | ( | LLVMValueRef | Inst | ) |
Obtain the predicate of an instruction.
This is only valid for instructions that correspond to llvm::ICmpInst or llvm::ConstantExpr whose opcode is llvm::Instruction::ICmp.
Definition at line 2628 of file Core.cpp.
References I, and llvm::unwrap().
LLVMOpcode LLVMGetInstructionOpcode | ( | LLVMValueRef | Inst | ) |
Obtain the code opcode for an individual instruction.
Definition at line 2646 of file Core.cpp.
References C, llvm::Instruction::getOpcode(), map_to_llvmopcode(), and llvm::unwrap().
LLVMBasicBlockRef LLVMGetInstructionParent | ( | LLVMValueRef | Inst | ) |
Obtain the basic block to which an instruction belongs.
Definition at line 2584 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 855 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 2604 of file Core.cpp.
References llvm::BasicBlock::end(), llvm::Instruction::getParent(), 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 2612 of file Core.cpp.
References llvm::BasicBlock::begin(), llvm::Instruction::getParent(), 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 2652 of file Core.cpp.
References C, llvm::Instruction::clone(), llvm::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 908 of file Core.cpp.
References llvm_getMetadata().
void LLVMInstructionRemoveFromParent | ( | LLVMValueRef | Inst | ) |
Remove and delete 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 2658 of file Core.cpp.
References llvm::dyn_cast(), I, llvm::Instruction::isTerminator(), llvm::unwrap(), and llvm::wrap().
void LLVMSetMetadata | ( | LLVMValueRef | Val, |
unsigned | KindID, | ||
LLVMValueRef | Node | ||
) |
Set metadata associated with an instruction value.
Definition at line 877 of file Core.cpp.
References extractMDNode(), N, and setMetadata().