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

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 16 13:26:30 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-ppc64le-linux-test-suite` running on `ppc64le-clang-test-suite` while building `llvm` at step 5 "build-unified-tree".

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

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

```
Step 5 (build-unified-tree) failure: build (failure)
...
48.104 [1273/222/4572] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVRegularizer.cpp.o
48.105 [1273/221/4573] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVSubtarget.cpp.o
48.106 [1273/220/4574] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVTargetMachine.cpp.o
48.108 [1273/219/4575] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVUtils.cpp.o
48.109 [1273/218/4576] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVEmitNonSemanticDI.cpp.o
48.110 [1273/217/4577] Building CXX object tools/llvm-objcopy/CMakeFiles/llvm-objcopy.dir/ObjcopyOptions.cpp.o
48.111 [1273/216/4578] Building CXX object tools/llvm-objcopy/CMakeFiles/llvm-objcopy.dir/llvm-objcopy.cpp.o
48.111 [1273/215/4579] Building CXX object tools/llvm-objcopy/CMakeFiles/llvm-objcopy.dir/llvm-objcopy-driver.cpp.o
48.114 [1273/214/4580] Building AArch64GenAsmWriter.inc...
48.117 [1273/213/4581] Building AArch64GenDisassemblerTables.inc...
FAILED: lib/Target/AArch64/AArch64GenDisassemblerTables.inc /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/lib/Target/AArch64/AArch64GenDisassemblerTables.inc 
cd /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build && /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen -gen-disassembler --num-to-skip-size=3 -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/lib/Target/AArch64 -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/include -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/include -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/lib/Target /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/lib/Target/AArch64/AArch64.td --write-if-changed -o lib/Target/AArch64/AArch64GenDisassemblerTables.inc -d lib/Target/AArch64/AArch64GenDisassemblerTables.inc.d
llvm-tblgen: /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/utils/TableGen/DecoderEmitter.cpp:151: void {anonymous}::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-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen -gen-disassembler --num-to-skip-size=3 -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/lib/Target/AArch64 -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/include -I/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/include -I /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/lib/Target /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/lib/Target/AArch64/AArch64.td --write-if-changed -o lib/Target/AArch64/AArch64GenDisassemblerTables.inc -d lib/Target/AArch64/AArch64GenDisassemblerTables.inc.d
 #0 0x00000000103aa8c0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen+0x103aa8c0)
 #1 0x00000000103a7e44 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #2 0x00007fffab9004d8 (linux-vdso64.so.1+0x4d8)
 #3 0x00007fffab19a4c8 raise (/lib64/libc.so.6+0x4a4c8)
 #4 0x00007fffab174a54 abort (/lib64/libc.so.6+0x24a54)
 #5 0x00007fffab18dcb0 __assert_fail_base (/lib64/libc.so.6+0x3dcb0)
 #6 0x00007fffab18dd54 __assert_fail (/lib64/libc.so.6+0x3dd54)
 #7 0x00000000101f4afc (anonymous namespace)::DecoderTable::patchNumToSkip(unsigned long, unsigned int) DecoderEmitter.cpp:0:0
 #8 0x00000000101ffcb0 (anonymous namespace)::FilterChooser::emitTableEntries((anonymous namespace)::DecoderTableInfo&) const DecoderEmitter.cpp:0:0
 #9 0x00000000101ff72c (anonymous namespace)::FilterChooser::emitTableEntries((anonymous namespace)::DecoderTableInfo&) const DecoderEmitter.cpp:0:0
#10 0x00000000102015d8 llvm::EmitDecoder(llvm::RecordKeeper const&, llvm::raw_ostream&, llvm::StringRef) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen+0x102015d8)
#11 0x0000000010218480 emitDisassembler(llvm::RecordKeeper const&, llvm::raw_ostream&) DisassemblerEmitter.cpp:0:0
#12 0x000000001000acdc 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&) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen+0x1000acdc)
#13 0x00000000103eec08 llvm::TableGen::Emitter::ApplyCallback(llvm::RecordKeeper const&, llvm::raw_ostream&) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen+0x103eec08)
#14 0x00000000103b57c8 llvm::TableGenMain(char const*, std::function<bool (llvm::raw_ostream&, llvm::RecordKeeper const&)>) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen+0x103b57c8)
#15 0x00000000100450cc tblgen_main(int, char**) (/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen+0x100450cc)
#16 0x0000000010008ae8 main (/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/llvm-tblgen+0x10008ae8)
#17 0x00007fffab17a9ec generic_start_main.isra.0 (/lib64/libc.so.6+0x2a9ec)
#18 0x00007fffab17ab84 __libc_start_main (/lib64/libc.so.6+0x2ab84)
48.117 [1273/212/4582] Building RISCVGenAsmMatcher.inc...
48.118 [1273/211/4583] Building SystemZGenSubtargetInfo.inc...
48.120 [1273/210/4584] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenPGO.cpp.o
In file included from /usr/include/c++/8/cassert:44,
                 from /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h:39,
                 from /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/include/llvm/ProfileData/InstrProfReader.h:21,
                 from /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/clang/lib/CodeGen/CodeGenPGO.h:20,
                 from /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp:13:
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h: In member function ‘llvm::ArrayRef<llvm::InstrProfValueSiteRecord> llvm::InstrProfRecord::getValueSitesForKind(uint32_t) const’:
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h:968:23: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
     assert(IPVK_First <= ValueKind && ValueKind <= IPVK_Last &&
            ~~~~~~~~~~~^~~~~~~~~~~~
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h: In member function ‘std::vector<llvm::InstrProfValueSiteRecord>& llvm::InstrProfRecord::getOrCreateValueSitesForKind(uint32_t)’:
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/llvm/include/llvm/ProfileData/InstrProf.h:977:23: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]

```

</details>

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


More information about the llvm-commits mailing list