LLVM API Documentation
#include <Instructions.h>


Public Member Functions | |
| void * | operator new (size_t s) |
| ShuffleVectorInst (Value *V1, Value *V2, Value *Mask, const Twine &NameStr="", Instruction *InsertBefor=0) | |
| ShuffleVectorInst (Value *V1, Value *V2, Value *Mask, const Twine &NameStr, BasicBlock *InsertAtEnd) | |
| VectorType * | getType () const |
| DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Value) | |
| Transparently provide more efficient getOperand methods. | |
| Constant * | getMask () const |
| int | getMaskValue (unsigned i) const |
| void | getShuffleMask (SmallVectorImpl< int > &Result) const |
| SmallVector< int, 16 > | getShuffleMask () const |
Static Public Member Functions | |
| static bool | isValidOperands (const Value *V1, const Value *V2, const Value *Mask) |
| static int | getMaskValue (Constant *Mask, unsigned i) |
| static void | getShuffleMask (Constant *Mask, SmallVectorImpl< int > &Result) |
| 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 | |
| virtual ShuffleVectorInst * | clone_impl () const |
ShuffleVectorInst - This instruction constructs a fixed permutation of two input vectors.
Definition at line 1654 of file Instructions.h.
| ShuffleVectorInst::ShuffleVectorInst | ( | Value * | V1, |
| Value * | V2, | ||
| Value * | Mask, | ||
| const Twine & | NameStr = "", |
||
| Instruction * | InsertBefor = 0 |
||
| ) |
Definition at line 1528 of file Instructions.cpp.
References isValidOperands(), and llvm::Value::setName().
Referenced by clone_impl().
| ShuffleVectorInst::ShuffleVectorInst | ( | Value * | V1, |
| Value * | V2, | ||
| Value * | Mask, | ||
| const Twine & | NameStr, | ||
| BasicBlock * | InsertAtEnd | ||
| ) |
Definition at line 1545 of file Instructions.cpp.
References isValidOperands(), and llvm::Value::setName().
| static bool llvm::ShuffleVectorInst::classof | ( | const Instruction * | I | ) | [inline, static] |
Definition at line 1712 of file Instructions.h.
References llvm::Instruction::getOpcode(), and llvm::ShuffleVector.
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented from llvm::Instruction.
Definition at line 1715 of file Instructions.h.
| ShuffleVectorInst * ShuffleVectorInst::clone_impl | ( | ) | const [protected, virtual] |
Implements llvm::Instruction.
Definition at line 3513 of file Instructions.cpp.
References llvm::User::getOperand(), and ShuffleVectorInst().
| llvm::ShuffleVectorInst::DECLARE_TRANSPARENT_OPERAND_ACCESSORS | ( | Value | ) |
Transparently provide more efficient getOperand methods.
| Constant* llvm::ShuffleVectorInst::getMask | ( | ) | const [inline] |
Definition at line 1683 of file Instructions.h.
getMaskValue - Return the index from the shuffle mask for the specified output result. This is either -1 if the element is undef or a number less than 2*numelements.
Definition at line 1614 of file Instructions.cpp.
References llvm::CallingConv::C, llvm::Constant::getAggregateElement(), and getType().
Referenced by llvm::ConstantFoldShuffleVectorInstruction().
| int llvm::ShuffleVectorInst::getMaskValue | ( | unsigned | i | ) | const [inline] |
Definition at line 1692 of file Instructions.h.
| void ShuffleVectorInst::getShuffleMask | ( | Constant * | Mask, |
| SmallVectorImpl< int > & | Result | ||
| ) | [static] |
getShuffleMask - Return the full mask for this instruction, where each element is the element number and undef's are returned as -1.
Definition at line 1626 of file Instructions.cpp.
References llvm::Constant::getAggregateElement(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by llvm::InstCombiner::visitShuffleVectorInst().
| void llvm::ShuffleVectorInst::getShuffleMask | ( | SmallVectorImpl< int > & | Result | ) | const [inline] |
Definition at line 1700 of file Instructions.h.
| SmallVector<int, 16> llvm::ShuffleVectorInst::getShuffleMask | ( | ) | const [inline] |
Definition at line 1704 of file Instructions.h.
| VectorType* llvm::ShuffleVectorInst::getType | ( | ) | const [inline] |
getType - Overload to return most specific vector type.
Reimplemented from llvm::Value.
Definition at line 1676 of file Instructions.h.
References llvm::Value::getType().
Referenced by getMaskValue(), and llvm::InstCombiner::visitShuffleVectorInst().
| bool ShuffleVectorInst::isValidOperands | ( | const Value * | V1, |
| const Value * | V2, | ||
| const Value * | Mask | ||
| ) | [static] |
isValidOperands - Return true if a shufflevector instruction can be formed with the specified operands.
Definition at line 1563 of file Instructions.cpp.
References llvm::dyn_cast(), llvm::SequentialType::getElementType(), llvm::VectorType::getNumElements(), llvm::Value::getType(), llvm::Type::isIntegerTy(), and llvm::Type::isVectorTy().
Referenced by llvm::ConstantExpr::getShuffleVector(), and ShuffleVectorInst().
| void* llvm::ShuffleVectorInst::operator new | ( | size_t | s | ) | [inline] |
Reimplemented from llvm::User.
Definition at line 1660 of file Instructions.h.