[llvm] [TableGen] Pool generated assembly matcher class sequences (PR #202621)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 9 08:04:06 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 135581 tests passed
* 3394 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.TableGen/RegClassByHwMode.td</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe -gen-instr-info   -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefix=INSTRINFO C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe' -gen-instr-info -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen' -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include' 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefix=INSTRINFO 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td'
# note: command had no output on stdout or stderr
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe -gen-asm-matcher  -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefix=ASMMATCHER C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe' -gen-asm-matcher -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen' -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include' 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefix=ASMMATCHER 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td:137:16: error: ASMMATCHER: expected string not found in input
# | // ASMMATCHER: /* also_my_load_1 */, MyTarget::MY_LOAD, Convert__RegByHwMode_XRegs_EvenIfRequired1_0__RegByHwMode_MyPtrRC1_1, AMFBS_None, { MCK_RegByHwMode_XRegs_EvenIfRequired, MCK_RegByHwMode_MyPtrRC }, },
# |                ^
# | <stdin>:528:42: note: scanning from here
# | static const MatchEntry MatchTable0[] = {
# |                                          ^
# | <stdin>:529:6: note: possible intended match here
# |  { 0 /* also_my_load_1 */, MyTarget::MY_LOAD, Convert__RegByHwMode_XRegs_EvenIfRequired1_0__RegByHwMode_MyPtrRC1_1, AMFBS_None, 2 /* { MCK_RegByHwMode_XRegs_EvenIfRequired, MCK_RegByHwMode_MyPtrRC } */, },
# |      ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            523:  return LHS.getMnemonic() < RHS.getMnemonic(); 
# |            524:  } 
# |            525:  }; 
# |            526: } // end anonymous namespace 
# |            527:  
# |            528: static const MatchEntry MatchTable0[] = { 
# | check:137'0                                              X error: no match found
# |            529:  { 0 /* also_my_load_1 */, MyTarget::MY_LOAD, Convert__RegByHwMode_XRegs_EvenIfRequired1_0__RegByHwMode_MyPtrRC1_1, AMFBS_None, 2 /* { MCK_RegByHwMode_XRegs_EvenIfRequired, MCK_RegByHwMode_MyPtrRC } */, }, 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:137'1          ?                                                                                                                                                                                                         possible intended match
# |            530:  { 15 /* also_my_load_2 */, MyTarget::MY_LOAD, Convert__RegByHwMode_XRegs_EvenIfRequired1_0__RegByHwMode_MyPtrRC1_1, AMFBS_None, 2 /* { MCK_RegByHwMode_XRegs_EvenIfRequired, MCK_RegByHwMode_MyPtrRC } */, }, 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            531:  { 30 /* always_all */, MyTarget::ALWAYS_ALL, Convert__Reg1_0, AMFBS_None, 8 /* { MCK_XRegs } */, }, 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            532:  { 41 /* always_even */, MyTarget::ALWAYS_EVEN, Convert__Reg1_0, AMFBS_None, 10 /* { MCK_XRegs_Even } */, }, 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            533:  { 53 /* custom_decode */, MyTarget::CUSTOM_DECODE, Convert__RegByHwMode_YRegs_EvenIfRequired1_0, AMFBS_None, 4 /* { MCK_RegByHwMode_YRegs_EvenIfRequired } */, }, 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            534:  { 67 /* even_if_mode */, MyTarget::EVEN_IF_MODE, Convert__RegByHwMode_XRegs_EvenIfRequired1_0, AMFBS_None, 0 /* { MCK_RegByHwMode_XRegs_EvenIfRequired } */, }, 
# | check:137'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.TableGen/RegisterByHwMode.td</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe --gen-subtarget -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=SUBTARGET C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe' --gen-subtarget -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include' -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen' 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=SUBTARGET 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td'
# note: command had no output on stdout or stderr
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe --gen-instr-info -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=INSTRINFO C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe' --gen-instr-info -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include' -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen' 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=INSTRINFO 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td'
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe --gen-asm-matcher -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include -I C:\_work\llvm-project\llvm-project\llvm\test\TableGen C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --check-prefix=ASMMATCHER C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-tblgen.exe' --gen-asm-matcher -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen/../../include' -I 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen' 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --check-prefix=ASMMATCHER 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td:238:21: error: ASMMATCHER-NEXT: expected string not found in input
# | // ASMMATCHER-NEXT: /* mode_count */, MyTarget::TEST_XREG, Convert__regModeCountReg__Reg1_0, AMFBS_None, { MCK_XRegs }, },
# |                     ^
# | <stdin>:516:42: note: scanning from here
# | static const MatchEntry MatchTable0[] = {
# |                                          ^
# | <stdin>:517:6: note: possible intended match here
# |  { 0 /* mode_count */, MyTarget::TEST_XREG, Convert__regModeCountReg__Reg1_0, AMFBS_None, 12 /* { MCK_XRegs } */, },
# |      ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           511:  return LHS.getMnemonic() < RHS.getMnemonic(); 
# |           512:  } 
# |           513:  }; 
# |           514: } // end anonymous namespace 
# |           515:  
# |           516: static const MatchEntry MatchTable0[] = { 
# | next:238'0                                              X error: no match found
# |           517:  { 0 /* mode_count */, MyTarget::TEST_XREG, Convert__regModeCountReg__Reg1_0, AMFBS_None, 12 /* { MCK_XRegs } */, }, 
# | next:238'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:238'1          ?                                                                                                                possible intended match
# |           518:  { 11 /* t_ptr */, MyTarget::TEST_PTRREG, Convert__regNullReg__RegByHwMode_PtrRC1_0, AMFBS_None, 8 /* { MCK_RegByHwMode_PtrRC } */, }, 
# | next:238'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           519:  { 17 /* t_ptr.even */, MyTarget::TEST_PTRREG, Convert__regNullReg__RegByHwMode_EvenPtrRC1_0, AMFBS_None, 4 /* { MCK_RegByHwMode_EvenPtrRC } */, }, 
# | next:238'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           520:  { 28 /* t_x */, MyTarget::TEST_XREG, Convert__regX0__Reg1_0, AMFBS_None, 12 /* { MCK_XRegs } */, }, 
# | next:238'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           521:  { 32 /* t_x.even */, MyTarget::TEST_XREG, Convert__regX0__Reg1_0, AMFBS_None, 0 /* { MCK_EvenXRegs } */, }, 
# | next:238'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           522:  { 41 /* t_y */, MyTarget::TEST_YREG, Convert__regY0__Reg1_0, AMFBS_None, 16 /* { MCK_YRegs } */, }, 
# | next:238'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/202621


More information about the llvm-commits mailing list