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