Project Alice
Loading...
Searching...
No Matches
Collaboration diagram for Instructions:

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)
 
LLVMValueMetadataEntryLLVMInstructionGetAllMetadataOtherThanDebugLoc (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)
 

Detailed Description

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.

Function Documentation

◆ LLVMDeleteInstruction()

void LLVMDeleteInstruction ( LLVMValueRef  Inst)

Delete an instruction.

The instruction specified is deleted. It must have previously been removed from its containing building block.

See also
llvm::Value::deleteValue()

◆ LLVMGetFCmpPredicate()

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.

See also
llvm::FCmpInst::getPredicate()

◆ LLVMGetICmpPredicate()

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.

See also
llvm::ICmpInst::getPredicate()

◆ LLVMGetInstructionOpcode()

LLVMOpcode LLVMGetInstructionOpcode ( LLVMValueRef  Inst)

Obtain the code opcode for an individual instruction.

See also
llvm::Instruction::getOpCode()

◆ LLVMGetInstructionParent()

LLVMBasicBlockRef LLVMGetInstructionParent ( LLVMValueRef  Inst)

Obtain the basic block to which an instruction belongs.

See also
llvm::Instruction::getParent()

◆ LLVMGetMetadata()

LLVMValueRef LLVMGetMetadata ( LLVMValueRef  Val,
unsigned  KindID 
)

Return metadata associated with an instruction value.

◆ LLVMGetNextInstruction()

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.

◆ LLVMGetPreviousInstruction()

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.

◆ LLVMHasMetadata()

int LLVMHasMetadata ( LLVMValueRef  Val)

Determine whether an instruction has any metadata attached.

◆ LLVMInstructionClone()

LLVMValueRef LLVMInstructionClone ( LLVMValueRef  Inst)

Create a copy of 'this' instruction that is identical in all ways except the following:

  • The instruction has no parent
  • The instruction has no name
See also
llvm::Instruction::clone()

◆ LLVMInstructionEraseFromParent()

void LLVMInstructionEraseFromParent ( LLVMValueRef  Inst)

Remove and delete an instruction.

The instruction specified is removed from its containing building block and then deleted.

See also
llvm::Instruction::eraseFromParent()

◆ LLVMInstructionGetAllMetadataOtherThanDebugLoc()

LLVMValueMetadataEntry * LLVMInstructionGetAllMetadataOtherThanDebugLoc ( LLVMValueRef  Instr,
size_t *  NumEntries 
)

Returns the metadata associated with an instruction value, but filters out all the debug locations.

See also
llvm::Instruction::getAllMetadataOtherThanDebugLoc()

◆ LLVMInstructionRemoveFromParent()

void LLVMInstructionRemoveFromParent ( LLVMValueRef  Inst)

Remove an instruction.

The instruction specified is removed from its containing building block but is kept alive.

See also
llvm::Instruction::removeFromParent()

◆ LLVMIsATerminatorInst()

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.

See also
llvm::Instruction::isTerminator()

◆ LLVMSetMetadata()

void LLVMSetMetadata ( LLVMValueRef  Val,
unsigned  KindID,
LLVMValueRef  Node 
)

Set metadata associated with an instruction value.