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 unsigned * idx_iterator

Public Member Functions

idx_iterator idx_begin () const
idx_iterator idx_end () const
Value * getAggregateOperand ()
const Value * getAggregateOperand () const
ArrayRef< unsigned > getIndices () const
unsigned getNumIndices () const
bool hasIndices () const

Static Public Member Functions

static ExtractValueInst * Create (Value *Agg, ArrayRef< unsigned > Idxs, const Twine &NameStr="", Instruction *InsertBefore=nullptr)
static ExtractValueInst * Create (Value *Agg, ArrayRef< unsigned > Idxs, const Twine &NameStr, BasicBlock *InsertAtEnd)
static Type * getIndexedType (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

ExtractValueInst * clone_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: