LLVM  mainline
Modules | Functions
Instructions
Core

Functions in this group relate to the inspection and manipulation of individual instructions. More...

Collaboration diagram for Instructions:

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 that map to llvm::TerminatorInst instances.


 PHI Nodes
 

Functions in this group only apply to instructions that map to llvm::PHINode 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.
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 LLVMInstructionEraseFromParent (LLVMValueRef Inst)
 Remove and 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: * The instruction has no parent * The instruction has no name.

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

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

Definition at line 2003 of file Core.cpp.

References llvm::WinEH::CE, llvm::FCmp, I, and llvm::unwrap().

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

Definition at line 1994 of file Core.cpp.

References llvm::WinEH::CE, I, and llvm::unwrap().

Obtain the code opcode for an individual instruction.

See also:
llvm::Instruction::getOpCode()

Definition at line 2012 of file Core.cpp.

References llvm::C, map_to_llvmopcode(), and llvm::unwrap().

Obtain the basic block to which an instruction belongs.

See also:
llvm::Instruction::getParent()

Definition at line 1954 of file Core.cpp.

References getParent(), and llvm::wrap().

Return metadata associated with an instruction value.

Definition at line 569 of file Core.cpp.

References llvm::MetadataAsValue::get(), I, and llvm::wrap().

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 1974 of file Core.cpp.

References llvm::BasicBlock::end(), llvm::Instruction::getParent(), I, and llvm::wrap().

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 1982 of file Core.cpp.

References llvm::BasicBlock::begin(), llvm::Instruction::getParent(), I, and llvm::wrap().

Determine whether an instruction has any metadata attached.

Definition at line 565 of file Core.cpp.

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

Definition at line 2018 of file Core.cpp.

References llvm::C, llvm::unwrap(), and llvm::wrap().

Remove and delete an instruction.

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

See also:
llvm::Instruction::eraseFromParent()

Definition at line 1990 of file Core.cpp.

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

Set metadata associated with an instruction value.

Definition at line 591 of file Core.cpp.

References extractMDNode(), and N.