LLVM: include/llvm/CodeGen/SDNodeInfo.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_CODEGEN_SDNODEINFO_H
10#define LLVM_CODEGEN_SDNODEINFO_H
11
16
17namespace llvm {
18
21
30
46
50
55
67
69
84
86 unsigned NumOpcodes;
91
92public:
96 : NumOpcodes(NumOpcodes), Descs(Descs), Names(Names),
97 VTByHwModeTable(VTByHwModeTable), Constraints(Constraints) {}
98
99
100
105
106
111
112
115 return ArrayRef(&Constraints[Desc.ConstraintOffset], Desc.ConstraintCount);
116 }
117
118
119
123
125};
126
127}
128
129#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
const SDNodeDesc & getDesc(unsigned Opcode) const
Returns the description of a node with the given opcode.
Definition SDNodeInfo.h:107
void verifyNode(const SelectionDAG &DAG, const SDNode *N) const
constexpr SDNodeInfo(unsigned NumOpcodes, const SDNodeDesc *Descs, StringTable Names, const VTByHwModePair *VTByHwModeTable, const SDTypeConstraint *Constraints)
Definition SDNodeInfo.h:93
StringRef getName(unsigned Opcode) const
Returns the name of the given target-specific opcode, suitable for debug printing.
Definition SDNodeInfo.h:120
ArrayRef< SDTypeConstraint > getConstraints(unsigned Opcode) const
Returns operand constraints for a node with the given opcode.
Definition SDNodeInfo.h:113
bool hasDesc(unsigned Opcode) const
Returns true if there is a generated description for a node with the given target-specific opcode.
Definition SDNodeInfo.h:101
Represents one node in the SelectionDAG.
This is used to represent a portion of an LLVM function in a low-level Data Dependence DAG representa...
StringRef - Represent a constant reference to a string, i.e.
A table of densely packed, null-terminated strings indexed by offset.
@ BUILTIN_OP_END
BUILTIN_OP_END - This must be the last enum value in this list.
This is an optimization pass for GlobalISel generic memory operations.
uint32_t SDNodeTSFlags
Definition SDNodeInfo.h:68
SDNP
Definition SDNodeInfo.h:22
@ SDNPOptInGlue
Definition SDNodeInfo.h:26
@ SDNPVariadic
Definition SDNodeInfo.h:28
@ SDNPInGlue
Definition SDNodeInfo.h:25
@ SDNPOutGlue
Definition SDNodeInfo.h:24
@ SDNPMemOperand
Definition SDNodeInfo.h:27
@ SDNPHasChain
Definition SDNodeInfo.h:23
ArrayRef(const T &OneElt) -> ArrayRef< T >
SDNF
Definition SDNodeInfo.h:47
@ SDNFIsStrictFP
Definition SDNodeInfo.h:48
SDTC
Definition SDNodeInfo.h:31
@ SDTCisSameAs
Definition SDNodeInfo.h:37
@ SDTCisPtrTy
Definition SDNodeInfo.h:33
@ SDTCisOpSmallerThanOp
Definition SDNodeInfo.h:39
@ SDTCisSameSizeAs
Definition SDNodeInfo.h:44
@ SDTCisSameNumEltsAs
Definition SDNodeInfo.h:43
@ SDTCisEltOfVec
Definition SDNodeInfo.h:40
@ SDTCisVTSmallerThanOp
Definition SDNodeInfo.h:38
@ SDTCisInt
Definition SDNodeInfo.h:34
@ SDTCisVec
Definition SDNodeInfo.h:36
@ SDTCisVT
Definition SDNodeInfo.h:32
@ SDTCVecEltisVT
Definition SDNodeInfo.h:42
@ SDTCisSubVecOfVec
Definition SDNodeInfo.h:41
@ SDTCisFP
Definition SDNodeInfo.h:35
Definition SDNodeInfo.h:70
SDNodeTSFlags TSFlags
Definition SDNodeInfo.h:75
uint32_t Flags
Definition SDNodeInfo.h:74
unsigned ConstraintOffset
Definition SDNodeInfo.h:77
unsigned NameOffset
Definition SDNodeInfo.h:76
int16_t NumOperands
Definition SDNodeInfo.h:72
uint16_t NumResults
Definition SDNodeInfo.h:71
bool hasProperty(SDNP Property) const
Definition SDNodeInfo.h:80
bool hasFlag(SDNF Flag) const
Definition SDNodeInfo.h:82
uint32_t Properties
Definition SDNodeInfo.h:73
unsigned ConstraintCount
Definition SDNodeInfo.h:78
Definition SDNodeInfo.h:56
uint8_t ConstrainedValIdx
Definition SDNodeInfo.h:58
SDTC Kind
Definition SDNodeInfo.h:57
uint8_t NumHwModes
For Kind == SDTCisVT or SDTCVecEltisVT:
Definition SDNodeInfo.h:64
uint8_t ConstrainingValIdx
Definition SDNodeInfo.h:59
uint16_t VT
Definition SDNodeInfo.h:65
Definition SDNodeInfo.h:51
uint8_t Mode
Definition SDNodeInfo.h:52
MVT::SimpleValueType VT
Definition SDNodeInfo.h:53