LLVM API Documentation

llvm::ExtractValueInst Class Reference

#include <Instructions.h>

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

List of all members.

Public Types

typedef const unsigned * idx_iterator

Public Member Functions

virtual ExtractValueInst * clone () const
const PointerType * getType () const
idx_iterator idx_begin () const
idx_iterator idx_end () const
Value * getAggregateOperand ()
const Value * getAggregateOperand () const
unsigned getNumIndices () const
bool hasIndices () const

Static Public Member Functions

template<typename InputIterator>
static ExtractValueInst * Create (Value *Agg, InputIterator IdxBegin, InputIterator IdxEnd, const std::string &NameStr="", Instruction *InsertBefore=0)
template<typename InputIterator>
static ExtractValueInst * Create (Value *Agg, InputIterator IdxBegin, InputIterator IdxEnd, const std::string &NameStr, BasicBlock *InsertAtEnd)
static ExtractValueInst * Create (Value *Agg, unsigned Idx, const std::string &NameStr="", Instruction *InsertBefore=0)
static ExtractValueInst * Create (Value *Agg, unsigned Idx, const std::string &NameStr, BasicBlock *InsertAtEnd)
template<typename InputIterator>
static const Type * getIndexedType (const Type *Ptr, InputIterator IdxBegin, InputIterator IdxEnd)
static const Type * getIndexedType (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 1509 of file Instructions.h.


Member Typedef Documentation

Definition at line 1637 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 1591 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 1601 of file Instructions.h.

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

Definition at line 1607 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 2877 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 1617 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 1628 of file Instructions.h.

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

Definition at line 1465 of file Instructions.cpp.

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

Definition at line 1638 of file Instructions.h.

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

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

Definition at line 1639 of file Instructions.h.

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

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

Definition at line 1641 of file Instructions.h.

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

Definition at line 1644 of file Instructions.h.

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

Definition at line 1647 of file Instructions.h.

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

Definition at line 1651 of file Instructions.h.

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

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

Definition at line 1655 of file Instructions.h.

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

Definition at line 1660 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 1661 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 1664 of file Instructions.h.


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