@@ -54,6 +54,7 @@ def TDL_DirA : Directive<[Spelling<"dira">]> {
54
54
// CHECK-NEXT: #include "llvm/ADT/ArrayRef.h"
55
55
// CHECK-NEXT: #include "llvm/ADT/BitmaskEnum.h"
56
56
// CHECK-NEXT: #include "llvm/ADT/StringRef.h"
57
+ // CHECK-NEXT: #include "llvm/Frontend/Directive/Spelling.h"
57
58
// CHECK-NEXT: #include "llvm/Support/Compiler.h"
58
59
// CHECK-NEXT: #include <cstddef>
59
60
// CHECK-NEXT: #include <utility>
@@ -63,8 +64,6 @@ def TDL_DirA : Directive<[Spelling<"dira">]> {
63
64
// CHECK-EMPTY:
64
65
// CHECK-NEXT: LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
65
66
// CHECK-EMPTY:
66
- // CHECK-NEXT: struct VersionRange { int Min = 1; int Max = 0x7fffffff; };
67
- // CHECK-EMPTY:
68
67
// CHECK-NEXT: enum class Association {
69
68
// CHECK-NEXT: Block,
70
69
// CHECK-NEXT: Declaration,
@@ -126,14 +125,14 @@ def TDL_DirA : Directive<[Spelling<"dira">]> {
126
125
// CHECK-NEXT: constexpr auto TDLCV_valc = AKind::TDLCV_valc;
127
126
// CHECK-EMPTY:
128
127
// CHECK-NEXT: // Enumeration helper functions
129
- // CHECK-NEXT: LLVM_ABI std::pair<Directive, VersionRange> getTdlDirectiveKindAndVersions(StringRef Str);
128
+ // CHECK-NEXT: LLVM_ABI std::pair<Directive, directive:: VersionRange> getTdlDirectiveKindAndVersions(StringRef Str);
130
129
// CHECK-NEXT: inline Directive getTdlDirectiveKind(StringRef Str) {
131
130
// CHECK-NEXT: return getTdlDirectiveKindAndVersions(Str).first;
132
131
// CHECK-NEXT: }
133
132
// CHECK-EMPTY:
134
133
// CHECK-NEXT: LLVM_ABI StringRef getTdlDirectiveName(Directive D, unsigned Ver = 0);
135
134
// CHECK-EMPTY:
136
- // CHECK-NEXT: LLVM_ABI std::pair<Clause, VersionRange> getTdlClauseKindAndVersions(StringRef Str);
135
+ // CHECK-NEXT: LLVM_ABI std::pair<Clause, directive:: VersionRange> getTdlClauseKindAndVersions(StringRef Str);
137
136
// CHECK-EMPTY:
138
137
// CHECK-NEXT: inline Clause getTdlClauseKind(StringRef Str) {
139
138
// CHECK-NEXT: return getTdlClauseKindAndVersions(Str).first;
@@ -320,41 +319,48 @@ def TDL_DirA : Directive<[Spelling<"dira">]> {
320
319
// IMPL: #ifdef GEN_DIRECTIVES_IMPL
321
320
// IMPL-NEXT: #undef GEN_DIRECTIVES_IMPL
322
321
// IMPL-EMPTY:
322
+ // IMPL-NEXT: #include "llvm/Frontend/Directive/Spelling.h"
323
323
// IMPL-NEXT: #include "llvm/Support/ErrorHandling.h"
324
324
// IMPL-NEXT: #include <utility>
325
325
// IMPL-EMPTY:
326
- // IMPL-NEXT: std::pair<llvm::tdl::Directive, llvm::tdl ::VersionRange> llvm::tdl::getTdlDirectiveKindAndVersions(llvm::StringRef Str) {
327
- // IMPL-NEXT: VersionRange All{} ; // Default-initialized to "all- versions"
328
- // IMPL-NEXT: return StringSwitch<std::pair<Directive, VersionRange>>(Str)
326
+ // IMPL-NEXT: std::pair<llvm::tdl::Directive, llvm::directive ::VersionRange> llvm::tdl::getTdlDirectiveKindAndVersions(llvm::StringRef Str) {
327
+ // IMPL-NEXT: directive:: VersionRange All; // Default-initialized to "all versions"
328
+ // IMPL-NEXT: return StringSwitch<std::pair<Directive, directive:: VersionRange>>(Str)
329
329
// IMPL-NEXT: .Case("dira", {TDLD_dira, All})
330
330
// IMPL-NEXT: .Default({TDLD_dira, All});
331
331
// IMPL-NEXT: }
332
332
// IMPL-EMPTY:
333
- // IMPL-NEXT: llvm::StringRef llvm::tdl::getTdlDirectiveName(llvm::tdl::Directive Kind, unsigned) {
333
+ // IMPL-NEXT: llvm::StringRef llvm::tdl::getTdlDirectiveName(llvm::tdl::Directive Kind, unsigned Version ) {
334
334
// IMPL-NEXT: switch (Kind) {
335
335
// IMPL-NEXT: case TDLD_dira:
336
336
// IMPL-NEXT: return "dira";
337
337
// IMPL-NEXT: }
338
338
// IMPL-NEXT: llvm_unreachable("Invalid Tdl Directive kind");
339
339
// IMPL-NEXT: }
340
340
// IMPL-EMPTY:
341
- // IMPL-NEXT: std::pair<llvm::tdl::Clause, llvm::tdl ::VersionRange> llvm::tdl::getTdlClauseKindAndVersions(llvm::StringRef Str) {
342
- // IMPL-NEXT: VersionRange All{} ; // Default-initialized to "all- versions"
343
- // IMPL-NEXT: return StringSwitch<std::pair<Clause, VersionRange>>(Str)
341
+ // IMPL-NEXT: std::pair<llvm::tdl::Clause, llvm::directive ::VersionRange> llvm::tdl::getTdlClauseKindAndVersions(llvm::StringRef Str) {
342
+ // IMPL-NEXT: directive:: VersionRange All; // Default-initialized to "all versions"
343
+ // IMPL-NEXT: return StringSwitch<std::pair<Clause, directive:: VersionRange>>(Str)
344
344
// IMPL-NEXT: .Case("clausea", {TDLC_clausea, All})
345
345
// IMPL-NEXT: .Case("clauseb", {TDLC_clauseb, All})
346
346
// IMPL-NEXT: .Case("clausec", {TDLC_clausec, All})
347
+ // IMPL-NEXT: .Case("ccccccc", {TDLC_clausec, All})
347
348
// IMPL-NEXT: .Default({TDLC_clauseb, All});
348
349
// IMPL-NEXT: }
349
350
// IMPL-EMPTY:
350
- // IMPL-NEXT: llvm::StringRef llvm::tdl::getTdlClauseName(llvm::tdl::Clause Kind, unsigned) {
351
+ // IMPL-NEXT: llvm::StringRef llvm::tdl::getTdlClauseName(llvm::tdl::Clause Kind, unsigned Version ) {
351
352
// IMPL-NEXT: switch (Kind) {
352
353
// IMPL-NEXT: case TDLC_clausea:
353
354
// IMPL-NEXT: return "clausea";
354
355
// IMPL-NEXT: case TDLC_clauseb:
355
356
// IMPL-NEXT: return "clauseb";
356
- // IMPL-NEXT: case TDLC_clausec:
357
- // IMPL-NEXT: return "clausec";
357
+ // IMPL-NEXT: case TDLC_clausec: {
358
+ // IMPL-NEXT: static constexpr llvm::directive::Spelling TDLC_clausec_spellings[] = {
359
+ // IMPL-NEXT: {"clausec", {0, 2147483647}},
360
+ // IMPL-NEXT: {"ccccccc", {0, 2147483647}},
361
+ // IMPL-NEXT: };
362
+ // IMPL-NEXT: return llvm::directive::FindName(TDLC_clausec_spellings, Version);
363
+ // IMPL-NEXT: }
358
364
// IMPL-NEXT: }
359
365
// IMPL-NEXT: llvm_unreachable("Invalid Tdl Clause kind");
360
366
// IMPL-NEXT: }
0 commit comments