LLVM 20.0.0git
|
#include "Target/VE/VECustomDAG.h"
Definition at line 142 of file VECustomDAG.h.
|
inline |
Definition at line 149 of file VECustomDAG.h.
References DL.
|
inline |
Definition at line 151 of file VECustomDAG.h.
References DL.
|
inline |
Definition at line 153 of file VECustomDAG.h.
References DL.
Definition at line 474 of file VECustomDAG.cpp.
References getNode(), llvm::SDValue::getValueType(), llvm::isLegalAVL(), and llvm::VEISD::LEGALAVL.
Referenced by getTargetSplitMask(), and llvm::VETargetLowering::legalizePackedAVL().
Definition at line 451 of file VECustomDAG.cpp.
References assert(), getMaskBroadcast(), getNode(), llvm::isMaskType(), llvm::isPackedVectorType(), llvm::EVT::isVector(), llvm::VEISD::REPL_F32, llvm::VEISD::REPL_I32, and llvm::VEISD::VEC_BROADCAST.
Referenced by getGatherScatterAddress(), getMaskBroadcast(), and llvm::VETargetLowering::lowerBUILD_VECTOR().
SDValue llvm::VECustomDAG::getConstant | ( | uint64_t | Val, |
EVT | VT, | ||
bool | IsTarget = false , |
||
bool | IsOpaque = false |
||
) | const |
Definition at line 404 of file VECustomDAG.cpp.
References llvm::SelectionDAG::getConstant().
Referenced by getConstantMask(), llvm::getLoadStoreStride(), getSplitPtrStride(), getTargetSplitMask(), llvm::VETargetLowering::legalizePackedAVL(), llvm::VETargetLowering::lowerBUILD_VECTOR(), llvm::VETargetLowering::lowerToVVP(), llvm::VETargetLowering::lowerVVP_GATHER_SCATTER(), llvm::VETargetLowering::lowerVVP_LOAD_STORE(), and llvm::VETargetLowering::splitMaskArithmetic().
Definition at line 409 of file VECustomDAG.cpp.
References llvm::SelectionDAG::getAllOnesConstant(), getConstant(), llvm::getLegalVectorType(), getNode(), llvm::SelectionDAG::getNOT(), and llvm::VEISD::VEC_BROADCAST.
Referenced by getMaskBroadcast(), getTargetSplitMask(), llvm::VETargetLowering::lowerToVVP(), llvm::VETargetLowering::lowerVVP_GATHER_SCATTER(), and llvm::VETargetLowering::lowerVVP_LOAD_STORE().
|
inline |
Definition at line 147 of file VECustomDAG.h.
Referenced by llvm::VETargetLowering::lowerVVP_LOAD_STORE().
SDValue llvm::VECustomDAG::getGatherScatterAddress | ( | SDValue | BasePtr, |
SDValue | Scale, | ||
SDValue | Index, | ||
SDValue | Mask, | ||
SDValue | AVL | ||
) | const |
Definition at line 536 of file VECustomDAG.cpp.
References getBroadcast(), getNode(), llvm::isNullConstant(), and llvm::isOneConstant().
Referenced by llvm::VETargetLowering::lowerVVP_GATHER_SCATTER().
SDValue llvm::VECustomDAG::getLegalReductionOpVVP | ( | unsigned | VVPOpcode, |
EVT | ResVT, | ||
SDValue | StartV, | ||
SDValue | VectorV, | ||
SDValue | Mask, | ||
SDValue | AVL, | ||
SDNodeFlags | Flags | ||
) | const |
} getNode
Legalizing getNode {
Definition at line 562 of file VECustomDAG.cpp.
References assert(), getNode(), llvm::getScalarReductionOpcode(), llvm::SDValue::getValueType(), llvm::hasReductionStartParam(), and llvm::isMaskType().
Referenced by llvm::VETargetLowering::lowerToVVP().
Definition at line 422 of file VECustomDAG.cpp.
References assert(), getBroadcast(), llvm::SelectionDAG::getConstant(), getConstantMask(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getSetCC(), llvm::SelectionDAG::getSExtOrTrunc(), llvm::getTypePacking(), llvm::EVT::getVectorNumElements(), llvm::MVT::getVectorVT(), llvm::ISD::SETNE, and llvm::VEISD::VEC_BROADCAST.
Referenced by getBroadcast().
} Packing
Definition at line 194 of file VECustomDAG.h.
References DL, and llvm::SelectionDAG::getMergeValues().
Referenced by llvm::VETargetLowering::lowerVVP_GATHER_SCATTER(), and llvm::VETargetLowering::lowerVVP_LOAD_STORE().
|
inline |
Definition at line 164 of file VECustomDAG.h.
References DL, llvm::SelectionDAG::getNode(), and N.
|
inline |
Definition at line 172 of file VECustomDAG.h.
References DL, llvm::SelectionDAG::getNode(), and N.
|
inline |
getNode {
Definition at line 156 of file VECustomDAG.h.
References DL, llvm::SelectionDAG::getNode(), and N.
Referenced by annotateLegalAVL(), getBroadcast(), getConstantMask(), getGatherScatterAddress(), getLegalReductionOpVVP(), getSplitPtrOffset(), getSplitPtrStride(), getTargetSplitMask(), llvm::VETargetLowering::legalizePackedAVL(), llvm::VETargetLowering::lowerBUILD_VECTOR(), llvm::VETargetLowering::lowerToVVP(), llvm::VETargetLowering::lowerVVP_GATHER_SCATTER(), llvm::VETargetLowering::lowerVVP_LOAD_STORE(), llvm::VETargetLowering::splitMaskArithmetic(), llvm::VETargetLowering::splitPackedLoadStore(), and llvm::VETargetLowering::splitVectorOp().
Definition at line 490 of file VECustomDAG.cpp.
References assert(), llvm::getAnnotatedNodeAVL(), llvm::SelectionDAG::getNode(), and llvm::VEISD::VEC_PACK.
Referenced by llvm::VETargetLowering::splitMaskArithmetic(), and llvm::VETargetLowering::splitVectorOp().
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().
Definition at line 530 of file VECustomDAG.cpp.
References getConstant(), getNode(), and llvm::ISD::SHL.
Referenced by llvm::VETargetLowering::splitPackedLoadStore().
VETargetMasks llvm::VECustomDAG::getTargetSplitMask | ( | SDValue | RawMask, |
SDValue | RawAVL, | ||
PackElem | Part | ||
) | const |
Definition at line 498 of file VECustomDAG.cpp.
References llvm::ISD::ADD, annotateLegalAVL(), getConstant(), getConstantMask(), getNode(), getUnpack(), llvm::Hi, llvm::Normal, and llvm::ISD::SRL.
Referenced by llvm::VETargetLowering::splitPackedLoadStore(), and llvm::VETargetLowering::splitVectorOp().
Definition at line 180 of file VECustomDAG.h.
References llvm::SelectionDAG::getUNDEF().
Referenced by llvm::VETargetLowering::lowerBUILD_VECTOR().
} Legalizing getNode
Packing {
Definition at line 480 of file VECustomDAG.cpp.
References assert(), llvm::getAnnotatedNodeAVL(), llvm::SelectionDAG::getNode(), llvm::Lo, llvm::VEISD::VEC_UNPACK_HI, and llvm::VEISD::VEC_UNPACK_LO.
Referenced by getTargetSplitMask(), llvm::VETargetLowering::splitMaskArithmetic(), llvm::VETargetLowering::splitPackedLoadStore(), and llvm::VETargetLowering::splitVectorOp().
Definition at line 216 of file VECustomDAG.h.
References llvm::SelectionDAG::getContext(), and llvm::EVT::getVectorVT().