brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 9165084 Raw
45 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_node_1a : SDNode<"MyTargetISD::NODE_1", SDTypeProfile<1, 0, [SDTCisVT<0, i32>]>>;8def my_node_1b : SDNode<"MyTargetISD::NODE_1", SDTypeProfile<1, 0, [SDTCisVT<0, i32>]>>;9def my_node_2a : SDNode<"MyTargetISD::NODE_2", SDTypeProfile<1, 0, [SDTCisVT<0, i32>]>>;10def my_node_2b : SDNode<"MyTargetISD::NODE_2", SDTypeProfile<1, 0, [SDTCisVT<0, untyped>]>>;11 12// CHECK:       namespace llvm::MyTargetISD {13// CHECK-EMPTY:14// CHECK-NEXT:  enum GenNodeType : unsigned {15// CHECK-NEXT:    NODE_1 = ISD::BUILTIN_OP_END,16// CHECK-NEXT:    NODE_2,17// CHECK-NEXT:  };18// CHECK-EMPTY:19// CHECK-NEXT:  static constexpr unsigned GENERATED_OPCODE_END = NODE_2 + 1;20// CHECK-EMPTY:21// CHECK-NEXT:  } // namespace llvm::MyTargetISD22 23// CHECK:       static constexpr char MyTargetSDNodeNamesStorage[] =24// CHECK-NEXT:    "\0"25// CHECK-NEXT:    "MyTargetISD::NODE_1\0"26// CHECK-NEXT:    "MyTargetISD::NODE_2\0"27// CHECK-NEXT:    ;28 29// CHECK:       static const VTByHwModePair MyTargetVTByHwModeTable[] = {30// CHECK-NEXT:   /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}31// CHECK-NEXT:  };32// CHECK-EMPTY:33// CHECK-NEXT:  static const SDTypeConstraint MyTargetSDTypeConstraints[] = {34// CHECK-NEXT:    /* 0 */ {SDTCisVT, 0, 0, 0, MVT::i32},35// CHECK-NEXT:  };36// CHECK-EMPTY:37// CHECK-NEXT:  static const SDNodeDesc MyTargetSDNodeDescs[] = {38// CHECK-NEXT:      {1, 0, 0, 0, 0, 1, 0, 1}, // NODE_139// CHECK-NEXT:      {1, 0, 0, 0, 0, 21, 0, 0}, // NODE_240// CHECK-NEXT:  };41// CHECK-EMPTY:42// CHECK-NEXT:  static const SDNodeInfo MyTargetGenSDNodeInfo(43// CHECK-NEXT:      /*NumOpcodes=*/2, MyTargetSDNodeDescs, MyTargetSDNodeNames,44// CHECK-NEXT:      MyTargetVTByHwModeTable, MyTargetSDTypeConstraints);45