[llvm] [TableGen] Pack generated MCOperandInfo sequences (PR #202648)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 9 08:26:24 PDT 2026


github-actions[bot] wrote:

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

* 135581 tests passed
* 3394 tests skipped
* 3 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'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegClassByHwMode.td:30:15: error: INSTRINFO: expected string not found in input
# | // INSTRINFO: { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 },
# |               ^
# | <stdin>:767:110: note: scanning from here
# |  /* 84 */ { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 },
# |                                                                                                              ^
# | <stdin>:767:148: note: possible intended match here
# |  /* 84 */ { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 },
# |                                                                                                                                                    ^
# | 
# | 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:
# | <<<<<<
# |             .
# |             .
# |             .
# |           762:  /* 64 */ { -1, 0, MCOI::OPERAND_GENERIC_1, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, 
# |           763:  /* 68 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, MCOI_TIED_TO(0) }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, 
# |           764:  /* 72 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_GENERIC_0, 0 }, { -1, 0, MCOI::OPERAND_GENERIC_1, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, 
# |           765:  /* 76 */ { -1, 0, MCOI::OPERAND_GENERIC_0, 0 }, { -1, 0, MCOI::OPERAND_GENERIC_1, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, 
# |           766:  /* 80 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, 
# |           767:  /* 84 */ { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, 
# | check:30'0                                                                                                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:30'1                                                                                                                                                        ?                                                                                                                                           possible intended match
# |           768:  /* 88 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { MyTarget::MyPtrRC, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { MyTarget::YRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, 
# | check:30'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           769:  /* 92 */ { MyTarget::XRegs_EvenIfRequired, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { MyTarget::XRegs_EvenRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, 
# | check:30'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           770:  } 
# | check:30'0     ~~~
# |           771: }; 
# | check:30'0     ~~~
# |           772:  
# | check:30'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'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\TableGen\RegisterByHwMode.td:85:20: error: INSTRINFO-NEXT: expected string not found in input
# | // INSTRINFO-NEXT: { MyTarget::PtrRC, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { MyTarget::PtrRC, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 },
# |                    ^
# | <stdin>:767:75: note: scanning from here
# |  /* 96 */ { MyTarget::EvenXRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 },
# |                                                                           ^
# | 
# | 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:
# | <<<<<<
# |          .
# |          .
# |          .
# |        762:  /* 76 */ { -1, 0, MCOI::OPERAND_GENERIC_0, 0 }, { -1, 0, MCOI::OPERAND_GENERIC_1, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, 
# |        763:  /* 80 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, 
# |        764:  /* 84 */ { MyTarget::PtrRC, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { MyTarget::PtrRC, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, 
# |        765:  /* 88 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { MyTarget::PtrRC, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { MyTarget::PtrRC, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, 
# |        766:  /* 92 */ { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { MyTarget::YRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { MyTarget::YRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { MyTarget::EvenPtrRC, 0|(1<<MCOI::LookupRegClassByHwMode), MCOI::OPERAND_REGISTER, 0 }, 
# |        767:  /* 96 */ { MyTarget::EvenXRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, 
# | next:85                                                                               X error: no match found
# |        768:  } 
# | next:85     ~~~
# |        769: }; 
# | next:85     ~~~
# |        770:  
# | next:85     ~
# |        771:  
# | next:85     ~
# |        772: #ifdef __GNUC__ 
# | next:85     ~~~~~~~~~~~~~~~~
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.TableGen/target-specialized-pseudos.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/../../include C:\_work\llvm-project\llvm-project\llvm\test\TableGen\target-specialized-pseudos.td -DALLCASES -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefixes=CHECK,ALLCASES C:\_work\llvm-project\llvm-project\llvm\test\TableGen\target-specialized-pseudos.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' 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\target-specialized-pseudos.td' -DALLCASES -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefixes=CHECK,ALLCASES 'C:\_work\llvm-project\llvm-project\llvm\test\TableGen\target-specialized-pseudos.td'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\TableGen\target-specialized-pseudos.td:36:14: error: ALLCASES: expected string not found in input
# | // ALLCASES: /* [[PREALLOCATED_ARG_OP_ENTRY]] */ { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 },
# |              ^
# | <stdin>:750:71: note: scanning from here
# |  /* 84 */ { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 },
# |                                                                       ^
# | <stdin>:750:71: note: with "PREALLOCATED_ARG_OP_ENTRY" equal to "86"
# |  /* 84 */ { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 },
# |                                                                       ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\TableGen\target-specialized-pseudos.td
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           745:  /* 64 */ { -1, 0, MCOI::OPERAND_GENERIC_1, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, 
# |           746:  /* 68 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, MCOI_TIED_TO(0) }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, 
# |           747:  /* 72 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_GENERIC_0, 0 }, { -1, 0, MCOI::OPERAND_GENERIC_1, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, 
# |           748:  /* 76 */ { -1, 0, MCOI::OPERAND_GENERIC_0, 0 }, { -1, 0, MCOI::OPERAND_GENERIC_1, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, 
# |           749:  /* 80 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, 
# |           750:  /* 84 */ { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_UNKNOWN, 0 }, { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, 
# | check:36'0                                                                           X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:36'1                                                                                                                                                                                                                      with "PREALLOCATED_ARG_OP_ENTRY" equal to "86"
# |           751:  /* 88 */ { -1, 0, MCOI::OPERAND_IMMEDIATE, 0 }, { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, { MyTarget::XRegsRegClassID, 0, MCOI::OPERAND_REGISTER, 0 }, 
# | check:36'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           752:  } 
# | check:36'0     ~~~
# |           753: }; 
# | check:36'0     ~~~
# |           754:  
# | check:36'0     ~
# |           755:  
# | check:36'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/202648


More information about the llvm-commits mailing list