[llvm] [WebAssembly] Implement addrspacecast to funcref (PR #166820)
LLVM Continuous Integration via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 4 16:48:41 PST 2025
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-expensive-checks-ubuntu` running on `as-builder-4` while building `llvm` at step 7 "test-check-all".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/187/builds/14282
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 7 (test-check-all) failure: Test just built components: check-all completed (failure)
******************** TEST 'LLVM :: CodeGen/WebAssembly/addrspacecast-funcref.ll' FAILED ********************
Exit Code: 2
Command Output (stdout):
--
# RUN: at line 2
/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -mtriple=wasm32-unknown-unknown -mattr=+reference-types < /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll | /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck -check-prefixes=CHECK,WASM32 /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -mtriple=wasm32-unknown-unknown -mattr=+reference-types
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck -check-prefixes=CHECK,WASM32 /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll
# RUN: at line 3
/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -mtriple=wasm64-unknown-unknown -mattr=+reference-types < /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll | /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck -check-prefixes=CHECK,WASM64 /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -mtriple=wasm64-unknown-unknown -mattr=+reference-types
# .---command stderr------------
# |
# | # After Post-RA pseudo instruction expansion pass
# | # Machine code for function cast_const_not_funcptr: NoPHIs, TracksLiveness, TiedOpsRewritten
# | Function Live Ins: $arguments
# |
# | bb.0 (%ir-block.0):
# | liveins: $arguments
# | %0:i64 = CONST_I64 @global_var, implicit-def dead $arguments
# | %2:i32 = COPY_I32 %0:i64, implicit-def $arguments
# | %1:funcref = TABLE_GET_FUNCREF <mcsymbol __indirect_function_table>, %2:i32, implicit-def dead $arguments
# | RETURN %1:funcref, implicit-def dead $arguments
# |
# | # End machine code for function cast_const_not_funcptr.
# |
# | *** Bad machine code: Illegal virtual register for instruction ***
# | - function: cast_const_not_funcptr
# | - basic block: %bb.0 (0x5b54c32d4820)
# | - instruction: %2:i32 = COPY_I32 %0:i64, implicit-def $arguments
# | - operand 1: %0:i64
# | Expected a I32 register, but got a I64 register
# | LLVM ERROR: Found 1 machine code errors.
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0. Program arguments: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -mtriple=wasm64-unknown-unknown -mattr=+reference-types
# | 1. Running pass 'Function Pass Manager' on module '<stdin>'.
# | 2. Running pass 'Verify generated machine code' on function '@cast_const_not_funcptr'
# | #0 0x00005b54a8ca1488 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc+0x80b8488)
# | #1 0x00005b54a8c9eb95 llvm::sys::RunSignalHandlers() (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc+0x80b5b95)
# | #2 0x00005b54a8ca2251 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
# | #3 0x0000760d6bc45330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# | #4 0x0000760d6bc9eb2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# | #5 0x0000760d6bc4527e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# | #6 0x0000760d6bc288ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# | #7 0x00005b54a8c04ff5 llvm::report_fatal_error(llvm::Twine const&, bool) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc+0x801bff5)
# | #8 0x00005b54a7dc45fb (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc+0x71db5fb)
# | #9 0x00005b54a7dc55db (anonymous namespace)::MachineVerifierLegacyPass::runOnMachineFunction(llvm::MachineFunction&) MachineVerifier.cpp:0:0
# | #10 0x00005b54a7ca0d43 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc+0x70b7d43)
...
```
</details>
https://github.com/llvm/llvm-project/pull/166820
More information about the llvm-commits
mailing list