LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
llvm::ShuffleVectorSDNode Class Reference

#include <SelectionDAGNodes.h>

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

Public Member Functions

ArrayRef< int > getMask () const
 
int getMaskElt (unsigned Idx) const
 
bool isSplat () const
 
int getSplatIndex () const
 
- Public Member Functions inherited from llvm::SDNode
unsigned getOpcode () const
 
bool isTargetOpcode () const
 
bool isTargetMemoryOpcode () const
 
bool isMachineOpcode () const
 
unsigned getMachineOpcode () const
 
bool getHasDebugValue () const
 getHasDebugValue - get this bit. More...
 
void setHasDebugValue (bool b)
 setHasDebugValue - set this bit. More...
 
bool use_empty () const
 
bool hasOneUse () const
 
size_t use_size () const
 
int getNodeId () const
 
void setNodeId (int Id)
 setNodeId - Set unique node id. More...
 
unsigned getIROrder () const
 
void setIROrder (unsigned Order)
 
const DebugLoc getDebugLoc () const
 getDebugLoc - Return the source location info. More...
 
void setDebugLoc (const DebugLoc dl)
 
use_iterator use_begin () const
 
bool hasNUsesOfValue (unsigned NUses, unsigned Value) const
 
bool hasAnyUseOfValue (unsigned Value) const
 
bool isOnlyUserOf (SDNode *N) const
 
bool isOperandOf (SDNode *N) const
 
bool isPredecessorOf (const SDNode *N) const
 
bool hasPredecessor (const SDNode *N) const
 
bool hasPredecessorHelper (const SDNode *N, SmallPtrSet< const SDNode *, 32 > &Visited, SmallVectorImpl< const SDNode * > &Worklist) const
 
unsigned getNumOperands () const
 
uint64_t getConstantOperandVal (unsigned Num) const
 
const SDValuegetOperand (unsigned Num) const
 
op_iterator op_begin () const
 
op_iterator op_end () const
 
SDVTList getVTList () const
 
SDNodegetGluedNode () const
 
const SDNodegetGluedMachineNode () const
 
SDNodegetGluedUser () const
 
unsigned getNumValues () const
 
EVT getValueType (unsigned ResNo) const
 
MVT getSimpleValueType (unsigned ResNo) const
 
unsigned getValueSizeInBits (unsigned ResNo) const
 
value_iterator value_begin () const
 
value_iterator value_end () const
 
std::string getOperationName (const SelectionDAG *G=0) const
 
void print_types (raw_ostream &OS, const SelectionDAG *G) const
 
void print_details (raw_ostream &OS, const SelectionDAG *G) const
 
void print (raw_ostream &OS, const SelectionDAG *G=0) const
 
void printr (raw_ostream &OS, const SelectionDAG *G=0) const
 
void printrFull (raw_ostream &O, const SelectionDAG *G=0) const
 
void printrWithDepth (raw_ostream &O, const SelectionDAG *G=0, unsigned depth=100) const
 
void dump () const
 dump - Dump this node, for debugging. More...
 
void dumpr () const
 dumpr - Dump (recursively) this node and its use-def subgraph. More...
 
void dump (const SelectionDAG *G) const
 
void dumpr (const SelectionDAG *G) const
 
void dumprFull (const SelectionDAG *G=0) const
 
void dumprWithDepth (const SelectionDAG *G=0, unsigned depth=100) const
 
void Profile (FoldingSetNodeID &ID) const
 
void addUse (SDUse &U)
 
- Public Member Functions inherited from llvm::FoldingSetImpl::Node
 Node ()
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 
- Public Member Functions inherited from llvm::ilist_node< SDNode >
SDNodegetPrevNode ()
 Get the previous node, or 0 for the list head. More...
 
const SDNodegetPrevNode () const
 Get the previous node, or 0 for the list head. More...
 
SDNodegetNextNode ()
 Get the next node, or 0 for the list tail. More...
 
const SDNodegetNextNode () const
 Get the next node, or 0 for the list tail. More...
 

Static Public Member Functions

static bool isSplatMask (const int *Mask, EVT VT)
 
static bool classof (const SDNode *N)
 
- Static Public Member Functions inherited from llvm::SDNode
static use_iterator use_end ()
 
static const char * getIndexedModeName (ISD::MemIndexedMode AM)
 

Protected Member Functions

 ShuffleVectorSDNode (EVT VT, unsigned Order, DebugLoc dl, SDValue N1, SDValue N2, const int *M)
 
- Protected Member Functions inherited from llvm::SDNode
 SDNode (unsigned Opc, unsigned Order, const DebugLoc dl, SDVTList VTs, const SDValue *Ops, unsigned NumOps)
 
 SDNode (unsigned Opc, unsigned Order, const DebugLoc dl, SDVTList VTs)
 
void InitOperands (SDUse *Ops, const SDValue &Op0)
 InitOperands - Initialize the operands list of this with 1 operand. More...
 
void InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1)
 InitOperands - Initialize the operands list of this with 2 operands. More...
 
void InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1, const SDValue &Op2)
 InitOperands - Initialize the operands list of this with 3 operands. More...
 
void InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1, const SDValue &Op2, const SDValue &Op3)
 InitOperands - Initialize the operands list of this with 4 operands. More...
 
void InitOperands (SDUse *Ops, const SDValue *Vals, unsigned N)
 InitOperands - Initialize the operands list of this with N operands. More...
 
void DropOperands ()
 
- Protected Member Functions inherited from llvm::ilist_node< SDNode >
 ilist_node ()
 

Friends

class SelectionDAG
 

Additional Inherited Members

- Public Types inherited from llvm::SDNode
typedef SDUseop_iterator
 
typedef const EVTvalue_iterator
 
- Static Protected Member Functions inherited from llvm::SDNode
static SDVTList getSDVTList (EVT VT)
 
- Protected Attributes inherited from llvm::SDNode
uint16_t SubclassData: 14
 

Detailed Description

ShuffleVectorSDNode - This SDNode is used to implement the code generator support for the llvm IR shufflevector instruction. It combines elements from two input vectors into a new input vector, with the selection and ordering of elements determined by an array of integers, referred to as the shuffle mask. For input vectors of width N, mask indices of 0..N-1 refer to elements from the LHS input, and indices from N to 2N-1 the RHS. An index of -1 is treated as undef, such that the code generator may put any value in the corresponding element of the result.

Definition at line 1205 of file SelectionDAGNodes.h.

Constructor & Destructor Documentation

llvm::ShuffleVectorSDNode::ShuffleVectorSDNode ( EVT  VT,
unsigned  Order,
DebugLoc  dl,
SDValue  N1,
SDValue  N2,
const int *  M 
)
inlineprotected

Definition at line 1213 of file SelectionDAGNodes.h.

References llvm::SDNode::InitOperands().

Member Function Documentation

static bool llvm::ShuffleVectorSDNode::classof ( const SDNode N)
inlinestatic

Definition at line 1241 of file SelectionDAGNodes.h.

References llvm::SDNode::getOpcode(), and llvm::ISD::VECTOR_SHUFFLE.

ArrayRef<int> llvm::ShuffleVectorSDNode::getMask ( ) const
inline
int llvm::ShuffleVectorSDNode::getMaskElt ( unsigned  Idx) const
inline
int llvm::ShuffleVectorSDNode::getSplatIndex ( ) const
inline
bool llvm::ShuffleVectorSDNode::isSplat ( ) const
inline
bool ShuffleVectorSDNode::isSplatMask ( const int *  Mask,
EVT  VT 
)
static

Friends And Related Function Documentation

friend class SelectionDAG
friend

Definition at line 1212 of file SelectionDAGNodes.h.


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