39 lines · plain
1// RUN: llvm-tblgen -gen-sd-node-info -I %p/../../../include %s | FileCheck %s2 3include "llvm/Target/Target.td"4 5def MyTarget : Target;6 7def my_noop : SDNode<"MyTargetISD::NOOP", SDTypeProfile<0, 0, []>>;8 9// CHECK: namespace llvm::MyTargetISD {10// CHECK-EMPTY:11// CHECK-NEXT: enum GenNodeType : unsigned {12// CHECK-NEXT: NOOP = ISD::BUILTIN_OP_END,13// CHECK-NEXT: };14// CHECK-EMPTY:15// CHECK-NEXT: static constexpr unsigned GENERATED_OPCODE_END = NOOP + 1;16// CHECK-EMPTY:17// CHECK-NEXT: } // namespace llvm::MyTargetISD18 19// CHECK: static constexpr char MyTargetSDNodeNamesStorage[] =20// CHECK-NEXT: "\0"21// CHECK-NEXT: "MyTargetISD::NOOP\0"22// CHECK-NEXT: ;23 24// CHECK: static const VTByHwModePair MyTargetVTByHwModeTable[] = {25// CHECK-NEXT: /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}26// CHECK-NEXT: };27// CHECK-EMPTY:28// CHECK-NEXT: static const SDTypeConstraint MyTargetSDTypeConstraints[] = {29// CHECK-NEXT: /* dummy */ {SDTCisVT, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}30// CHECK-NEXT: };31// CHECK-EMPTY:32// CHECK-NEXT: static const SDNodeDesc MyTargetSDNodeDescs[] = {33// CHECK-NEXT: {0, 0, 0, 0, 0, 1, 0, 0}, // NOOP34// CHECK-NEXT: };35// CHECK-EMPTY:36// CHECK-NEXT: static const SDNodeInfo MyTargetGenSDNodeInfo(37// CHECK-NEXT: /*NumOpcodes=*/1, MyTargetSDNodeDescs, MyTargetSDNodeNames,38// CHECK-NEXT: MyTargetVTByHwModeTable, MyTargetSDTypeConstraints);39