LLVM 17.0.0git
Classes | Namespaces | Enumerations | Functions
VECustomDAG.h File Reference
#include "VE.h"
#include "VEISelLowering.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/TargetLowering.h"
Include dependency graph for VECustomDAG.h:
This graph shows which files directly or indirectly include this file:

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< EVT > llvm::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)