[llvm] [LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter (PR #135882)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 16 14:14:57 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `ppc64le-lld-multistage-test` running on `ppc64le-lld-multistage-test` while building `llvm` at step 7 "test-build-stage1-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/168/builds/10955

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 7 (test-build-stage1-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: TableGen/FixedLenDecoderEmitter/conflict.td' FAILED ********************
Exit Code: 134

Command Output (stderr):
--
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/bin/llvm-tblgen -gen-disassembler -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/FixedLenDecoderEmitter/../../../include /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/FixedLenDecoderEmitter/conflict.td -o - 2>/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/test/TableGen/FixedLenDecoderEmitter/Output/conflict.td.tmp # RUN: at line 1
+ /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/bin/llvm-tblgen -gen-disassembler -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/FixedLenDecoderEmitter/../../../include /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/FixedLenDecoderEmitter/conflict.td -o -
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/test/TableGen/FixedLenDecoderEmitter/Output/conflict.td.script: line 2: 969214 Aborted                 (core dumped) /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/bin/llvm-tblgen -gen-disassembler -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/FixedLenDecoderEmitter/../../../include /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/FixedLenDecoderEmitter/conflict.td -o - 2> /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/test/TableGen/FixedLenDecoderEmitter/Output/conflict.td.tmp

--

********************

Step 13 (test-build-stage2-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: TableGen/trydecode-emission4.td' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen -gen-disassembler --num-to-skip-size=3 -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/../../include /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/trydecode-emission4.td | /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/trydecode-emission4.td # RUN: at line 1
+ /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen -gen-disassembler --num-to-skip-size=3 -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/../../include /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/trydecode-emission4.td
+ /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/trydecode-emission4.td
llvm-tblgen: /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/utils/TableGen/DecoderEmitter.cpp:151: void (anonymous namespace)::DecoderTable::patchNumToSkip(size_t, uint32_t): Assertion `DestIdx > FixupIdx + NumToSkipSizeInBytes && "Expecting a forward jump in the decoding table"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen -gen-disassembler --num-to-skip-size=3 -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/../../include /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/trydecode-emission4.td
 #0 0x000000010c75f770 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen+0x50f770)
 #1 0x000000010c75feb4 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #2 0x000000010c75cbd4 llvm::sys::RunSignalHandlers() (/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen+0x50cbd4)
 #3 0x000000010c760104 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #4 0x00007fff96b004d8 (linux-vdso64.so.1+0x4d8)
 #5 0x00007fff9639a4c8 raise (/lib64/libc.so.6+0x4a4c8)
 #6 0x00007fff96374a54 abort (/lib64/libc.so.6+0x24a54)
 #7 0x00007fff9638dcb0 __assert_fail_base (/lib64/libc.so.6+0x3dcb0)
 #8 0x00007fff9638dd54 __assert_fail (/lib64/libc.so.6+0x3dd54)
 #9 0x000000010c58dc90 (anonymous namespace)::DecoderTable::patchNumToSkip(unsigned long, unsigned int) DecoderEmitter.cpp:0:0
#10 0x000000010c583810 (anonymous namespace)::FilterChooser::emitTableEntries((anonymous namespace)::DecoderTableInfo&) const DecoderEmitter.cpp:0:0
#11 0x000000010c584134 (anonymous namespace)::FilterChooser::emitTableEntries((anonymous namespace)::DecoderTableInfo&) const DecoderEmitter.cpp:0:0
#12 0x000000010c57f718 (anonymous namespace)::DecoderEmitter::run(llvm::raw_ostream&) DecoderEmitter.cpp:0:0
#13 0x000000010c57a75c llvm::EmitDecoder(llvm::RecordKeeper const&, llvm::raw_ostream&, llvm::StringRef) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen+0x32a75c)
#14 0x000000010c5a1f54 emitDisassembler(llvm::RecordKeeper const&, llvm::raw_ostream&) DisassemblerEmitter.cpp:0:0
#15 0x000000010c37296c void llvm::function_ref<void (llvm::RecordKeeper const&, llvm::raw_ostream&)>::callback_fn<void (llvm::RecordKeeper const&, llvm::raw_ostream&)>(long, llvm::RecordKeeper const&, llvm::raw_ostream&) ARMTargetDefEmitter.cpp:0:0
#16 0x000000010c79c174 llvm::TableGen::Emitter::ApplyCallback(llvm::RecordKeeper const&, llvm::raw_ostream&) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen+0x54c174)
#17 0x000000010c769c4c llvm::TableGenMain(char const*, std::function<bool (llvm::raw_ostream&, llvm::RecordKeeper const&)>) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen+0x519c4c)
#18 0x000000010c3a9208 tblgen_main(int, char**) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen+0x159208)
#19 0x000000010c6348f8 main (/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/llvm-tblgen+0x3e48f8)
#20 0x00007fff9637a9ec generic_start_main.isra.0 (/lib64/libc.so.6+0x2a9ec)
#21 0x00007fff9637ab84 __libc_start_main (/lib64/libc.so.6+0x2ab84)
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/test/TableGen/trydecode-emission4.td

--

********************


```

</details>

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


More information about the llvm-commits mailing list