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

 ShuffleVectorInst (Value *V1, Value *V2, Value *Mask, const std::string &Name="", Instruction *InsertBefor=0)
 ShuffleVectorInst (Value *V1, Value *V2, Value *Mask, const std::string &Name, BasicBlock *InsertAtEnd)
virtual ShuffleVectorInstclone () const
virtual bool mayWriteToMemory () const
const PackedTypegetType () const
ValuegetOperand (unsigned i) const
 Transparently provide more efficient getOperand methods.
void setOperand (unsigned i, Value *Val)
unsigned getNumOperands () 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 844 of file Instructions.h.


Constructor & Destructor Documentation

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

Definition at line 924 of file Instructions.cpp.

References llvm::Use::init(), and isValidOperands().

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

Definition at line 935 of file Instructions.cpp.

References llvm::Use::init(), and isValidOperands().


Member Function Documentation

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

References llvm::Value::getType(), and llvm::Type::UIntTy.

Referenced by llvm::ConstantExpr::getShuffleVector(), llvm::BytecodeReader::ParseConstantPoolValue(), llvm::BytecodeReader::ParseInstruction(), 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 1333 of file Instructions.cpp.

virtual bool llvm::ShuffleVectorInst::mayWriteToMemory (  )  const [inline, virtual]

mayWriteToMemory - Return true if this instruction may modify memory.

Reimplemented from llvm::Instruction.

Definition at line 860 of file Instructions.h.

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

getType - Overload to return most specific packed type.

Reimplemented from llvm::Value.

Definition at line 864 of file Instructions.h.

References llvm::Value::getType().

Referenced by getShuffleMask().

Value* llvm::ShuffleVectorInst::getOperand ( unsigned  i  )  const [inline]

Transparently provide more efficient getOperand methods.

Reimplemented from llvm::User.

Definition at line 869 of file Instructions.h.

References Ops.

Referenced by getShuffleMask().

void llvm::ShuffleVectorInst::setOperand ( unsigned  i,
Value Val 
) [inline]

Reimplemented from llvm::User.

Definition at line 873 of file Instructions.h.

References Ops, and Val.

unsigned llvm::ShuffleVectorInst::getNumOperands (  )  const [inline]

Reimplemented from llvm::User.

Definition at line 877 of file Instructions.h.

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

Definition at line 880 of file Instructions.h.

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

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

Reimplemented from llvm::Instruction.

Definition at line 881 of file Instructions.h.

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

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

Reimplemented from llvm::Instruction.

Definition at line 884 of file Instructions.h.

References llvm::CastInst::classof(), and V.


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