[llvm] [RISCV] Enable rematerialization for scalar loads (PR #166774)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 24 09:56:05 PST 2025


topperc wrote:

> I suspect we started seeing a test failure in `tools/llvm-exegesis/RISCV/rvv/filter.test` after this patch landed, but I am still in the process of bisecting. This is just a heads-up.
> 
> ```
>  FAIL: LLVM :: tools/llvm-exegesis/RISCV/rvv/filter.test (55723 of 62528, 3 of 3 attempts)
>  ******************** TEST 'LLVM :: tools/llvm-exegesis/RISCV/rvv/filter.test' FAILED ********************
>  Exit Code: 2
>  Command Output (stdout):
>  --
>  # RUN: at line 1
>  /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/llvm-exegesis -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=inverse_throughput --opcode-name=PseudoVNCLIPU_WX_M1_MASK     --riscv-filter-config='vtype = {VXRM: rod, AVL: VLMAX, SEW: e(8|16), Policy: ta/mu}' --max-configs-per-opcode=1000 --min-instructions=10 | /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/FileCheck /b/s/w/ir/x/w/llvm-llvm-project/llvm/test/tools/llvm-exegesis/RISCV/rvv/filter.test
>  # executed command: /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/llvm-exegesis -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=inverse_throughput --opcode-name=PseudoVNCLIPU_WX_M1_MASK '--riscv-filter-config=vtype = {VXRM: rod, AVL: VLMAX, SEW: e(8|16), Policy: ta/mu}' --max-configs-per-opcode=1000 --min-instructions=10
>  # .---command stderr------------
>  # | PseudoVNCLIPU_WX_M1_MASK: Failed to produce any snippet via: instruction has tied variables, avoiding Read-After-Write issue, picking random def and use registers not aliasing each other, for uses, one unique register for each position
>  # `-----------------------------
>  # executed command: /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/FileCheck /b/s/w/ir/x/w/llvm-llvm-project/llvm/test/tools/llvm-exegesis/RISCV/rvv/filter.test
>  # .---command stderr------------
>  # | FileCheck error: '<stdin>' is empty.
>  # | FileCheck command line:  /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/FileCheck /b/s/w/ir/x/w/llvm-llvm-project/llvm/test/tools/llvm-exegesis/RISCV/rvv/filter.test
>  # `-----------------------------
>  # error: command failed with exit status: 2
>  --
>  ********************
> ```
> 
> https://luci-milo.appspot.com/ui/p/fuchsia/builders/prod/clang-linux-arm64/b8697315212943036865/overview
> 
> https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8697315212943036865/+/u/clang/test/stdout

I don't think this change could affect llvm-mca.

CC @mshockwave @boomanaiden154 

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


More information about the llvm-commits mailing list