LLVM 22.0.0git
VECustomDAG.h File Reference

Go to the source code of this file.

Classes

struct  llvm::VETargetMasks
class  llvm::VECustomDAG

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Enumerations

enum class  llvm::Packing { llvm::Normal = 0 , llvm::Dense = 1 }
 } Node Properties More...
enum class  llvm::PackElem : int8_t { llvm::Lo = 0 , llvm::Hi = 1 }

Functions

std::optional< unsignedllvm::getVVPOpcode (unsigned Opcode)
bool llvm::isVVPUnaryOp (unsigned VVPOpcode)
bool llvm::isVVPBinaryOp (unsigned VVPOpcode)
bool llvm::isVVPReductionOp (unsigned Opcode)
MVT llvm::splitVectorType (MVT VT)
bool llvm::isPackedVectorType (EVT SomeVT)
bool llvm::isMaskType (EVT SomeVT)
bool llvm::isMaskArithmetic (SDValue Op)
bool llvm::isVVPOrVEC (unsigned Opcode)
bool llvm::supportsPackedMode (unsigned Opcode, EVT IdiomVT)
bool llvm::isPackingSupportOpcode (unsigned Opc)
bool llvm::maySafelyIgnoreMask (SDValue Op)
std::optional< int > llvm::getAVLPos (unsigned)
 The VE backend uses a two-staged process to lower and legalize vector instructions:
bool llvm::isLegalAVL (SDValue AVL)
SDValue llvm::getNodeAVL (SDValue Op)
 } Node Properties
std::optional< int > llvm::getMaskPos (unsigned Opc)
SDValue llvm::getNodeMask (SDValue Op)
std::pair< SDValue, boolllvm::getAnnotatedNodeAVL (SDValue Op)
std::optional< EVTllvm::getIdiomaticVectorType (SDNode *Op)
 } AVL Functions
SDValue llvm::getLoadStoreStride (SDValue Op, VECustomDAG &CDAG)
SDValue llvm::getMemoryPtr (SDValue Op)
SDValue llvm::getNodeChain (SDValue Op)
 Node Properties {.
SDValue llvm::getStoredValue (SDValue Op)
SDValue llvm::getNodePassthru (SDValue Op)
SDValue llvm::getGatherScatterIndex (SDValue Op)
SDValue llvm::getGatherScatterScale (SDValue Op)
unsigned llvm::getScalarReductionOpcode (unsigned VVPOC, bool IsMask)
bool llvm::hasReductionStartParam (unsigned OPC)
MVT llvm::getLegalVectorType (Packing P, MVT ElemVT)
Packing llvm::getTypePacking (EVT VT)