brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 5780164 Raw
69 lines · plain
1// RUN: llvm-tblgen -gen-sd-node-info -I %p/../../../include %s -sdnode-namespace=EmptyISD \2// RUN:   | FileCheck %s -check-prefix=EMPTY3 4// RUN: llvm-tblgen -gen-sd-node-info -I %p/../../../include %s \5// RUN:   | FileCheck %s --check-prefixes=COMMON,TARGET -DNS=MyTargetISD6// RUN: llvm-tblgen -gen-sd-node-info -I %p/../../../include %s -sdnode-namespace=MyCustomISD \7// RUN:   | FileCheck %s -check-prefixes=COMMON,CUSTOM -DNS=MyCustomISD8 9include "llvm/Target/Target.td"10 11def MyTarget : Target;12 13def node_1 : SDNode<"MyTargetISD::NODE", SDTypeProfile<1, 0, [SDTCisVT<0, i1>]>>;14def node_2 : SDNode<"MyCustomISD::NODE", SDTypeProfile<0, 1, [SDTCisVT<0, i2>]>>;15 16// EMPTY:        namespace llvm::EmptyISD {17// EMPTY-EMPTY:18// EMPTY-NEXT:   static constexpr unsigned GENERATED_OPCODE_END = ISD::BUILTIN_OP_END;19// EMPTY-EMPTY:20// EMPTY-NEXT:   } // namespace llvm::EmptyISD21 22// EMPTY:        static constexpr char MyTargetSDNodeNamesStorage[] =23// EMPTY-NEXT:     "\0"24// EMPTY-NEXT:     ;25 26// EMPTY:        static const SDTypeConstraint MyTargetSDTypeConstraints[] = {27// EMPTY-NEXT:     /* dummy */ {SDTCisVT, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}28// EMPTY-NEXT:   };29// EMPTY-EMPTY:30// EMPTY-NEXT:   static const SDNodeDesc MyTargetSDNodeDescs[] = {31// EMPTY-NEXT:   };32// EMPTY-EMPTY:33// EMPTY-NEXT:   static const SDNodeInfo MyTargetGenSDNodeInfo(34// EMPTY-NEXT:       /*NumOpcodes=*/0, MyTargetSDNodeDescs, MyTargetSDNodeNames,35// EMPTY-NEXT:       MyTargetVTByHwModeTable, MyTargetSDTypeConstraints);36 37// COMMON:       namespace llvm::[[NS]] {38// COMMON-EMPTY:39// COMMON-NEXT:  enum GenNodeType : unsigned {40// COMMON-NEXT:    NODE = ISD::BUILTIN_OP_END,41// COMMON-NEXT:  };42// COMMON-EMPTY:43// COMMON-NEXT:  static constexpr unsigned GENERATED_OPCODE_END = NODE + 1;44// COMMON-EMPTY:45// COMMON-NEXT:  } // namespace llvm::[[NS]]46 47// COMMON:       static constexpr char MyTargetSDNodeNamesStorage[] =48// COMMON-NEXT:    "\0"49// COMMON-NEXT:    "[[NS]]::NODE\0"50// COMMON-NEXT:    ;51 52// COMMON:       static const VTByHwModePair MyTargetVTByHwModeTable[] = {53// COMMON-NEXT:    /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}54// COMMON-NEXT:  };55 56// COMMON:       static const SDTypeConstraint MyTargetSDTypeConstraints[] = {57// TARGET-NEXT:    /* 0 */ {SDTCisVT, 0, 0, 0, MVT::i1},58// CUSTOM-NEXT:    /* 0 */ {SDTCisVT, 0, 0, 0, MVT::i2},59// COMMON-NEXT:  };60// COMMON-EMPTY:61// COMMON-NEXT:  static const SDNodeDesc MyTargetSDNodeDescs[] = {62// TARGET-NEXT:      {1, 0, 0, 0, 0, 1, 0, 1}, // NODE63// CUSTOM-NEXT:      {0, 1, 0, 0, 0, 1, 0, 1}, // NODE64// COMMON-NEXT:  };65// COMMON-EMPTY:66// COMMON-NEXT:  static const SDNodeInfo MyTargetGenSDNodeInfo(67// COMMON-NEXT:      /*NumOpcodes=*/1, MyTargetSDNodeDescs, MyTargetSDNodeNames,68// COMMON-NEXT:      MyTargetVTByHwModeTable, MyTargetSDTypeConstraints);69