LLVM API Documentation

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

virtual ExtractValueInstclone () const
const PointerTypegetType () const
idx_iterator idx_begin () const
idx_iterator idx_end () const
ValuegetAggregateOperand ()
const ValuegetAggregateOperand () const
unsigned getNumIndices () const
bool hasIndices () const

Static Public Member Functions

template<typename InputIterator>
static ExtractValueInstCreate (Value *Agg, InputIterator IdxBegin, InputIterator IdxEnd, const std::string &NameStr="", Instruction *InsertBefore=0)
template<typename InputIterator>
static ExtractValueInstCreate (Value *Agg, InputIterator IdxBegin, InputIterator IdxEnd, const std::string &NameStr, BasicBlock *InsertAtEnd)
static ExtractValueInstCreate (Value *Agg, unsigned Idx, const std::string &NameStr="", Instruction *InsertBefore=0)
static ExtractValueInstCreate (Value *Agg, unsigned Idx, const std::string &NameStr, BasicBlock *InsertAtEnd)
template<typename InputIterator>
static const TypegetIndexedType (const Type *Ptr, InputIterator IdxBegin, InputIterator IdxEnd)
static const TypegetIndexedType (const Type *Ptr, unsigned Idx)
static unsigned getAggregateOperandIndex ()
static bool classof (const ExtractValueInst *)
static bool classof (const Instruction *I)
 Methods for support type inquiry through isa, cast, and dyn_cast:.
static bool classof (const Value *V)


Detailed Description

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

Definition at line 1502 of file Instructions.h.


Member Typedef Documentation

Definition at line 1630 of file Instructions.h.


Member Function Documentation

template<typename InputIterator>
static ExtractValueInst* llvm::ExtractValueInst::Create ( Value Agg,
InputIterator  IdxBegin,
InputIterator  IdxEnd,
const std::string &  NameStr = "",
Instruction InsertBefore = 0 
) [inline, static]

template<typename InputIterator>
static ExtractValueInst* llvm::ExtractValueInst::Create ( Value Agg,
InputIterator  IdxBegin,
InputIterator  IdxEnd,
const std::string &  NameStr,
BasicBlock InsertAtEnd 
) [inline, static]

Definition at line 1584 of file Instructions.h.

static ExtractValueInst* llvm::ExtractValueInst::Create ( Value Agg,
unsigned  Idx,
const std::string &  NameStr = "",
Instruction InsertBefore = 0 
) [inline, static]

Constructors - These two creators are convenience methods because one index extractvalue instructions are much more common than those with more than one.

Definition at line 1594 of file Instructions.h.

static ExtractValueInst* llvm::ExtractValueInst::Create ( Value Agg,
unsigned  Idx,
const std::string &  NameStr,
BasicBlock InsertAtEnd 
) [inline, static]

Definition at line 1600 of file Instructions.h.

ExtractValueInst * ExtractValueInst::clone (  )  const [virtual]

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

Implements llvm::Instruction.

Definition at line 2903 of file Instructions.cpp.

const PointerType* llvm::ExtractValueInst::getType (  )  const [inline]

All values are typed, get the type of this value.

Reimplemented from llvm::Value.

Definition at line 1610 of file Instructions.h.

References llvm::Intrinsic::getType().

template<typename InputIterator>
static const Type* llvm::ExtractValueInst::getIndexedType ( const Type Ptr,
InputIterator  IdxBegin,
InputIterator  IdxEnd 
) [inline, 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 pointer type.

Definition at line 1621 of file Instructions.h.

const Type * ExtractValueInst::getIndexedType ( const Type Ptr,
unsigned  Idx 
) [static]

Definition at line 1491 of file Instructions.cpp.

idx_iterator llvm::ExtractValueInst::idx_begin (  )  const [inline]

Definition at line 1631 of file Instructions.h.

References llvm::SmallVectorImpl< T >::begin().

idx_iterator llvm::ExtractValueInst::idx_end (  )  const [inline]

Definition at line 1632 of file Instructions.h.

References llvm::SmallVectorImpl< T >::end().

Value* llvm::ExtractValueInst::getAggregateOperand (  )  [inline]

Definition at line 1634 of file Instructions.h.

const Value* llvm::ExtractValueInst::getAggregateOperand (  )  const [inline]

Definition at line 1637 of file Instructions.h.

static unsigned llvm::ExtractValueInst::getAggregateOperandIndex (  )  [inline, static]

Definition at line 1640 of file Instructions.h.

unsigned llvm::ExtractValueInst::getNumIndices (  )  const [inline]

Definition at line 1644 of file Instructions.h.

References llvm::SmallVectorImpl< T >::size().

bool llvm::ExtractValueInst::hasIndices (  )  const [inline]

Definition at line 1648 of file Instructions.h.

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

Definition at line 1653 of file Instructions.h.

Referenced by llvm::InsertValueInst::classof().

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

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

Reimplemented from llvm::UnaryInstruction.

Definition at line 1654 of file Instructions.h.

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

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

Reimplemented from llvm::UnaryInstruction.

Definition at line 1657 of file Instructions.h.


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



This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.