LLVM API Documentation
#include <Instructions.h>
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 |
ExtractValueInst - This instruction extracts a struct member or array element value from an aggregate value.
Definition at line 1852 of file Instructions.h.
Definition at line 1898 of file Instructions.h.
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] |
Definition at line 1878 of file Instructions.h.
Referenced by llvm::NoFolder::CreateExtractValue(), llvm::IRBuilder< true, TargetFolder >::CreateExtractValue(), llvm::ConstantExpr::getAsInstruction(), ProcessUAddIdiom(), ProcessUGT_ADDCST_ADD(), ProcessUMulZExtIdiom(), and llvm::InstCombiner::visitExtractValueInst().
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.
Value* llvm::ExtractValueInst::getAggregateOperand | ( | ) | [inline] |
Definition at line 1902 of file Instructions.h.
Referenced by llvm::Interpreter::visitExtractValueInst(), and llvm::InstCombiner::visitExtractValueInst().
const Value* llvm::ExtractValueInst::getAggregateOperand | ( | ) | const [inline] |
Definition at line 1905 of file Instructions.h.
static unsigned llvm::ExtractValueInst::getAggregateOperandIndex | ( | ) | [inline, static] |
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().
ArrayRef<unsigned> llvm::ExtractValueInst::getIndices | ( | ) | const [inline] |
Definition at line 1912 of file Instructions.h.
Referenced by computeKnownBits(), llvm::FastISel::selectExtractValue(), llvm::Interpreter::visitExtractValueInst(), and llvm::InstCombiner::visitExtractValueInst().
unsigned llvm::ExtractValueInst::getNumIndices | ( | ) | const [inline] |
Definition at line 1916 of file Instructions.h.
References llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by computeKnownBits(), llvm::Interpreter::visitExtractValueInst(), and llvm::InstCombiner::visitExtractValueInst().
bool llvm::ExtractValueInst::hasIndices | ( | ) | const [inline] |
Definition at line 1920 of file Instructions.h.
Referenced by llvm::InstCombiner::visitExtractValueInst().
idx_iterator llvm::ExtractValueInst::idx_begin | ( | ) | const [inline] |
Definition at line 1899 of file Instructions.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin().
Referenced by llvm::Interpreter::visitExtractValueInst(), and llvm::InstCombiner::visitExtractValueInst().
idx_iterator llvm::ExtractValueInst::idx_end | ( | ) | const [inline] |
Definition at line 1900 of file Instructions.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end().
Referenced by llvm::InstCombiner::visitExtractValueInst().