56 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 7// CHECK: #ifdef GET_SDNODE_ENUM8// CHECK-NEXT: #undef GET_SDNODE_ENUM9// CHECK-EMPTY:10// CHECK-NEXT: namespace llvm::MyTargetISD {11// CHECK-EMPTY:12// CHECK-NEXT: static constexpr unsigned GENERATED_OPCODE_END = ISD::BUILTIN_OP_END;13// CHECK-EMPTY:14// CHECK-NEXT: } // namespace llvm::MyTargetISD15// CHECK-EMPTY:16// CHECK-NEXT: #endif // GET_SDNODE_ENUM17// CHECK-EMPTY:18// CHECK-NEXT: #ifdef GET_SDNODE_DESC19// CHECK-NEXT: #undef GET_SDNODE_DESC20// CHECK-EMPTY:21// CHECK-NEXT: namespace llvm {22// CHECK-EMPTY:23// CHECK-EMPTY:24// CHECK-NEXT: #ifdef __GNUC__25// CHECK-NEXT: #pragma GCC diagnostic push26// CHECK-NEXT: #pragma GCC diagnostic ignored "-Woverlength-strings"27// CHECK-NEXT: #endif28// CHECK-NEXT: static constexpr char MyTargetSDNodeNamesStorage[] =29// CHECK-NEXT: "\0"30// CHECK-NEXT: ;31// CHECK-NEXT: #ifdef __GNUC__32// CHECK-NEXT: #pragma GCC diagnostic pop33// CHECK-NEXT: #endif34// CHECK-EMPTY:35// CHECK-NEXT: static constexpr llvm::StringTable36// CHECK-NEXT: MyTargetSDNodeNames = MyTargetSDNodeNamesStorage;37// CHECK-EMPTY:38// CHECK-NEXT: static const VTByHwModePair MyTargetVTByHwModeTable[] = {39// CHECK-NEXT: /* dummy */ {0, MVT::INVALID_SIMPLE_VALUE_TYPE}40// CHECK-NEXT: };41// CHECK-EMPTY:42// CHECK-NEXT: static const SDTypeConstraint MyTargetSDTypeConstraints[] = {43// CHECK-NEXT: /* dummy */ {SDTCisVT, 0, 0, 0, MVT::INVALID_SIMPLE_VALUE_TYPE}44// CHECK-NEXT: };45// CHECK-EMPTY:46// CHECK-NEXT: static const SDNodeDesc MyTargetSDNodeDescs[] = {47// CHECK-NEXT: };48// CHECK-EMPTY:49// CHECK-NEXT: static const SDNodeInfo MyTargetGenSDNodeInfo(50// CHECK-NEXT: /*NumOpcodes=*/0, MyTargetSDNodeDescs, MyTargetSDNodeNames,51// CHECK-NEXT: MyTargetVTByHwModeTable, MyTargetSDTypeConstraints);52// CHECK-EMPTY:53// CHECK-NEXT: } // namespace llvm54// CHECK-EMPTY:55// CHECK-NEXT: #endif // GET_SDNODE_DESC56