LLVM API Documentation

llvm::ShuffleVectorInst Class Reference

#include <Instructions.h>

Inheritance diagram for llvm::ShuffleVectorInst:

Inheritance graph
[legend]
Collaboration diagram for llvm::ShuffleVectorInst:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void * operator new (size_t s)
 ShuffleVectorInst (Value *V1, Value *V2, Value *Mask, const std::string &NameStr="", Instruction *InsertBefor=0)
 ShuffleVectorInst (Value *V1, Value *V2, Value *Mask, const std::string &NameStr, BasicBlock *InsertAtEnd)
virtual ShuffleVectorInstclone () const
const VectorTypegetType () const
 DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Value)
 Transparently provide more efficient getOperand methods.
int getMaskValue (unsigned i) const

Static Public Member Functions

static bool isValidOperands (const Value *V1, const Value *V2, const Value *Mask)
static bool classof (const ShuffleVectorInst *)
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

ShuffleVectorInst - This instruction constructs a fixed permutation of two input vectors.

Definition at line 1445 of file Instructions.h.


Constructor & Destructor Documentation

ShuffleVectorInst::ShuffleVectorInst ( Value V1,
Value V2,
Value Mask,
const std::string &  NameStr = "",
Instruction InsertBefor = 0 
)

Definition at line 1326 of file Instructions.cpp.

References isValidOperands(), and llvm::Value::setName().

ShuffleVectorInst::ShuffleVectorInst ( Value V1,
Value V2,
Value Mask,
const std::string &  NameStr,
BasicBlock InsertAtEnd 
)

Definition at line 1343 of file Instructions.cpp.

References isValidOperands(), and llvm::Value::setName().


Member Function Documentation

void* llvm::ShuffleVectorInst::operator new ( size_t  s  )  [inline]

Reimplemented from llvm::User.

Definition at line 1449 of file Instructions.h.

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 1359 of file Instructions.cpp.

References llvm::dyn_cast(), llvm::SequentialType::getElementType(), llvm::Value::getType(), and llvm::Type::Int32Ty.

Referenced by llvm::ConstantExpr::getShuffleVector(), and ShuffleVectorInst().

ShuffleVectorInst * ShuffleVectorInst::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 2942 of file Instructions.cpp.

const VectorType* llvm::ShuffleVectorInst::getType (  )  const [inline]

getType - Overload to return most specific vector type.

Reimplemented from llvm::Value.

Definition at line 1467 of file Instructions.h.

References llvm::Intrinsic::getType().

Referenced by getShuffleMask().

llvm::ShuffleVectorInst::DECLARE_TRANSPARENT_OPERAND_ACCESSORS ( Value   ) 

Transparently provide more efficient getOperand methods.

int ShuffleVectorInst::getMaskValue ( unsigned  i  )  const

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.

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 1374 of file Instructions.cpp.

References llvm::User::getNumOperands(), llvm::Constant::getOperand(), and llvm::User::getOperand().

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

Definition at line 1480 of file Instructions.h.

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

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

Reimplemented from llvm::Instruction.

Definition at line 1481 of file Instructions.h.

References llvm::Instruction::getOpcode().

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

Reimplemented from llvm::Instruction.

Definition at line 1484 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.