Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::VECustomDAG Class Reference

#include "Target/VE/VECustomDAG.h"

Public Member Functions

SelectionDAGgetDAG () const
 VECustomDAG (SelectionDAG &DAG, SDLoc DL)
 VECustomDAG (SelectionDAG &DAG, SDValue WhereOp)
 VECustomDAG (SelectionDAG &DAG, const SDNode *WhereN)
SDValue getNode (unsigned OC, SDVTList VTL, ArrayRef< SDValue > OpV, std::optional< SDNodeFlags > Flags=std::nullopt) const
 getNode {
SDValue getNode (unsigned OC, ArrayRef< EVT > ResVT, ArrayRef< SDValue > OpV, std::optional< SDNodeFlags > Flags=std::nullopt) const
SDValue getNode (unsigned OC, EVT ResVT, ArrayRef< SDValue > OpV, std::optional< SDNodeFlags > Flags=std::nullopt) const
SDValue getUNDEF (EVT VT) const
SDValue getLegalReductionOpVVP (unsigned VVPOpcode, EVT ResVT, SDValue StartV, SDValue VectorV, SDValue Mask, SDValue AVL, SDNodeFlags Flags) const
 } getNode
SDValue getUnpack (EVT DestVT, SDValue Vec, PackElem Part, SDValue AVL) const
 } Legalizing getNode
SDValue getPack (EVT DestVT, SDValue LoVec, SDValue HiVec, SDValue AVL) const
SDValue getMergeValues (ArrayRef< SDValue > Values) const
 } Packing
SDValue getConstant (uint64_t Val, EVT VT, bool IsTarget=false, bool IsOpaque=false) const
SDValue getConstantMask (Packing Packing, bool AllTrue) const
SDValue getMaskBroadcast (EVT ResultVT, SDValue Scalar, SDValue AVL) const
SDValue getBroadcast (EVT ResultVT, SDValue Scalar, SDValue AVL) const
SDValue annotateLegalAVL (SDValue AVL) const
VETargetMasks getTargetSplitMask (SDValue RawMask, SDValue RawAVL, PackElem Part) const
SDValue getSplitPtrOffset (SDValue Ptr, SDValue ByteStride, PackElem Part) const
SDValue getSplitPtrStride (SDValue PackStride) const
SDValue getGatherScatterAddress (SDValue BasePtr, SDValue Scale, SDValue Index, SDValue Mask, SDValue AVL) const
EVT getVectorVT (EVT ElemVT, unsigned NumElems) const

Detailed Description

Definition at line 142 of file VECustomDAG.h.

Constructor & Destructor Documentation

◆ VECustomDAG() [1/3]

llvm::VECustomDAG::VECustomDAG ( SelectionDAG & DAG,
SDLoc DL )
inline

Definition at line 149 of file VECustomDAG.h.

◆ VECustomDAG() [2/3]

llvm::VECustomDAG::VECustomDAG ( SelectionDAG & DAG,
SDValue WhereOp )
inline

Definition at line 151 of file VECustomDAG.h.

◆ VECustomDAG() [3/3]

llvm::VECustomDAG::VECustomDAG ( SelectionDAG & DAG,
const SDNode * WhereN )
inline

Definition at line 153 of file VECustomDAG.h.

Member Function Documentation

◆ annotateLegalAVL()

SDValue llvm::VECustomDAG::annotateLegalAVL ( SDValue AVL) const

◆ getBroadcast()

◆ getConstant()

◆ getConstantMask()

◆ getDAG()

SelectionDAG * llvm::VECustomDAG::getDAG ( ) const
inline

Definition at line 147 of file VECustomDAG.h.

Referenced by llvm::VETargetLowering::lowerVVP_LOAD_STORE().

◆ getGatherScatterAddress()

SDValue llvm::VECustomDAG::getGatherScatterAddress ( SDValue BasePtr,
SDValue Scale,
SDValue Index,
SDValue Mask,
SDValue AVL ) const

◆ getLegalReductionOpVVP()

SDValue llvm::VECustomDAG::getLegalReductionOpVVP ( unsigned VVPOpcode,
EVT ResVT,
SDValue StartV,
SDValue VectorV,
SDValue Mask,
SDValue AVL,
SDNodeFlags Flags ) const

◆ getMaskBroadcast()

◆ getMergeValues()

◆ getNode() [1/3]

SDValue llvm::VECustomDAG::getNode ( unsigned OC,
ArrayRef< EVT > ResVT,
ArrayRef< SDValue > OpV,
std::optional< SDNodeFlags > Flags = std::nullopt ) const
inline

Definition at line 164 of file VECustomDAG.h.

References N.

◆ getNode() [2/3]

SDValue llvm::VECustomDAG::getNode ( unsigned OC,
EVT ResVT,
ArrayRef< SDValue > OpV,
std::optional< SDNodeFlags > Flags = std::nullopt ) const
inline

Definition at line 172 of file VECustomDAG.h.

References N.

◆ getNode() [3/3]

◆ getPack()

◆ getSplitPtrOffset()

SDValue llvm::VECustomDAG::getSplitPtrOffset ( SDValue Ptr,
SDValue ByteStride,
PackElem Part ) const

Definition at line 521 of file VECustomDAG.cpp.

References llvm::ISD::ADD, getNode(), llvm::Hi, and Ptr.

Referenced by llvm::VETargetLowering::splitPackedLoadStore().

◆ getSplitPtrStride()

SDValue llvm::VECustomDAG::getSplitPtrStride ( SDValue PackStride) const

◆ getTargetSplitMask()

◆ getUNDEF()

SDValue llvm::VECustomDAG::getUNDEF ( EVT VT) const
inline

Definition at line 180 of file VECustomDAG.h.

Referenced by llvm::VETargetLowering::lowerBUILD_VECTOR().

◆ getUnpack()

◆ getVectorVT()

EVT llvm::VECustomDAG::getVectorVT ( EVT ElemVT,
unsigned NumElems ) const
inline

Definition at line 216 of file VECustomDAG.h.

References llvm::EVT::getVectorVT().


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