Project Alice
|
Modules | |
Call Sites and Invocations | |
Terminators | |
Allocas | |
GEPs | |
PHI Nodes | |
ExtractValue | |
InsertValue | |
Functions | |
int | LLVMHasMetadata (LLVMValueRef Val) |
LLVMValueRef | LLVMGetMetadata (LLVMValueRef Val, unsigned KindID) |
void | LLVMSetMetadata (LLVMValueRef Val, unsigned KindID, LLVMValueRef Node) |
LLVMValueMetadataEntry * | LLVMInstructionGetAllMetadataOtherThanDebugLoc (LLVMValueRef Instr, size_t *NumEntries) |
LLVMBasicBlockRef | LLVMGetInstructionParent (LLVMValueRef Inst) |
LLVMValueRef | LLVMGetNextInstruction (LLVMValueRef Inst) |
LLVMValueRef | LLVMGetPreviousInstruction (LLVMValueRef Inst) |
void | LLVMInstructionRemoveFromParent (LLVMValueRef Inst) |
void | LLVMInstructionEraseFromParent (LLVMValueRef Inst) |
void | LLVMDeleteInstruction (LLVMValueRef Inst) |
LLVMOpcode | LLVMGetInstructionOpcode (LLVMValueRef Inst) |
LLVMIntPredicate | LLVMGetICmpPredicate (LLVMValueRef Inst) |
LLVMRealPredicate | LLVMGetFCmpPredicate (LLVMValueRef Inst) |
LLVMValueRef | LLVMInstructionClone (LLVMValueRef Inst) |
LLVMValueRef | LLVMIsATerminatorInst (LLVMValueRef Inst) |
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 or llvm::ConstantExpr whose opcode is llvm::Instruction::FCmp.
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.
LLVMOpcode LLVMGetInstructionOpcode | ( | LLVMValueRef | Inst | ) |
Obtain the code opcode for an individual instruction.
LLVMBasicBlockRef LLVMGetInstructionParent | ( | LLVMValueRef | Inst | ) |
Obtain the basic block to which an instruction belongs.
LLVMValueRef LLVMGetMetadata | ( | LLVMValueRef | Val, |
unsigned | KindID | ||
) |
Return metadata associated with an instruction value.
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.
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.
int LLVMHasMetadata | ( | LLVMValueRef | Val | ) |
Determine whether an instruction has any metadata attached.
LLVMValueRef LLVMInstructionClone | ( | LLVMValueRef | Inst | ) |
Create a copy of 'this' instruction that is identical in all ways except the following:
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.
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.
void LLVMSetMetadata | ( | LLVMValueRef | Val, |
unsigned | KindID, | ||
LLVMValueRef | Node | ||
) |
Set metadata associated with an instruction value.