LLVM API Documentation

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
llvm::ExtractValueInst Class Reference

#include <Instructions.h>

Inheritance diagram for llvm::ExtractValueInst:
Inheritance graph
[legend]
Collaboration diagram for llvm::ExtractValueInst:
Collaboration graph
[legend]

List of all members.

Public Types

typedef const unsignedidx_iterator

Public Member Functions

idx_iterator idx_begin () const
idx_iterator idx_end () const
ValuegetAggregateOperand ()
const ValuegetAggregateOperand () const
ArrayRef< unsignedgetIndices () const
unsigned getNumIndices () const
bool hasIndices () const

Static Public Member Functions

static ExtractValueInstCreate (Value *Agg, ArrayRef< unsigned > Idxs, const Twine &NameStr="", Instruction *InsertBefore=nullptr)
static ExtractValueInstCreate (Value *Agg, ArrayRef< unsigned > Idxs, const Twine &NameStr, BasicBlock *InsertAtEnd)
static TypegetIndexedType (Type *Agg, ArrayRef< unsigned > Idxs)
static unsigned getAggregateOperandIndex ()
static bool classof (const Instruction *I)
static bool classof (const Value *V)
 Methods for support type inquiry through isa, cast, and dyn_cast:

Protected Member Functions

ExtractValueInstclone_impl () const override

Detailed Description

ExtractValueInst - This instruction extracts a struct member or array element value from an aggregate value.

Definition at line 1852 of file Instructions.h.


Member Typedef Documentation

Definition at line 1898 of file Instructions.h.


Member Function Documentation

static bool llvm::ExtractValueInst::classof ( const Instruction I) [inline, static]

Reimplemented from llvm::UnaryInstruction.

Definition at line 1925 of file Instructions.h.

References llvm::ExtractValue, and llvm::Instruction::getOpcode().

static bool llvm::ExtractValueInst::classof ( const Value V) [inline, static]

Methods for support type inquiry through isa, cast, and dyn_cast:

Reimplemented from llvm::UnaryInstruction.

Definition at line 1928 of file Instructions.h.

ExtractValueInst * ExtractValueInst::clone_impl ( ) const [override, protected, virtual]

Implements llvm::Instruction.

Definition at line 3629 of file Instructions.cpp.

static ExtractValueInst* llvm::ExtractValueInst::Create ( Value Agg,
ArrayRef< unsigned Idxs,
const Twine NameStr = "",
Instruction InsertBefore = nullptr 
) [inline, static]
static ExtractValueInst* llvm::ExtractValueInst::Create ( Value Agg,
ArrayRef< unsigned Idxs,
const Twine NameStr,
BasicBlock InsertAtEnd 
) [inline, static]

Definition at line 1885 of file Instructions.h.

Definition at line 1905 of file Instructions.h.

Definition at line 1908 of file Instructions.h.

Type * ExtractValueInst::getIndexedType ( Type Agg,
ArrayRef< unsigned Idxs 
) [static]

getIndexedType - Returns the type of the element that would be extracted with an extractvalue instruction with the specified parameters.

Null is returned if the indices are invalid for the specified type.

Definition at line 1716 of file Instructions.cpp.

References llvm::AArch64DB::ST.

Referenced by BuildSubAggregate(), llvm::FindInsertedValue(), llvm::ConstantExpr::getExtractValue(), llvm::ConstantExpr::getInsertValue(), llvm::Interpreter::visitExtractValueInst(), and llvm::Interpreter::visitInsertValueInst().

Definition at line 1920 of file Instructions.h.

Referenced by llvm::InstCombiner::visitExtractValueInst().


The documentation for this class was generated from the following files: