[llvm] Reapply "[llvm-exegesis] Exclude loads/stores from aliasing instruction set" (#156735) (PR #159366)

David Spickett via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 6 07:36:41 PDT 2025


DavidSpickett wrote:

The added test is failing on our 2 stage SVE builders, not on single stage for reasons I don't understand. Also it has passed once on one of the builders, so it could be something about our host machines.

https://lab.llvm.org/buildbot/#/builders/41/builds/9394

```
--
# RUN: at line 3
/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-exegesis -mtriple=aarch64 -mcpu=neoverse-v2 -mode=latency --dump-object-to-disk=%d --opcode-name=FMOVWSr --benchmark-phase=assemble-measured-code 2>&1
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-exegesis -mtriple=aarch64 -mcpu=neoverse-v2 -mode=latency --dump-object-to-disk=%d --opcode-name=FMOVWSr --benchmark-phase=assemble-measured-code
# .---command stdout------------
# | Check generated assembly with: /usr/bin/objdump -d %d
# | ---
# | mode:            latency
# | key:
# |   instructions:
# |     - 'FMOVWSr S22 W27'
# |     - 'FCVTNUUWSr W21 S22'
# |   config:          ''
# |   register_initial_values:
# |     - 'W27=0x0'
# |     - 'FPCR=0x0'
# | cpu_name:        neoverse-v2
# | llvm_triple:     aarch64
# | min_instructions: 10000
# | measurements:    []
# | error:           actual measurements skipped.
# | info:            Repeating two instructions
# | assembled_snippet: FB57BFA91B008052080080D208441BD57603271ED502211E7603271ED502211E7603271ED502211E7603271ED502211EFB57C1A8C0035FD6
# | ...
# `-----------------------------
# RUN: at line 4
/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump -d %d > /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/test/tools/llvm-exegesis/AArch64/Output/no-aliasing-ld-str.s.tmp.s
# executed command: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump -d %d
# .---redirected output from '/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/test/tools/llvm-exegesis/AArch64/Output/no-aliasing-ld-str.s.tmp.s'
# | 
# | %d:	file format elf64-littleaarch64
# | 
# | Disassembly of section .text:
# | 
# | 0000000000000000 <foo>:
# |        0: a9bf57fb     	stp	x27, x21, [sp, #-0x10]!
# |        4: 5280001b     	mov	w27, #0x0               // =0
# |        8: d2800008     	mov	x8, #0x0                // =0
# |        c: d51b4408     	msr	FPCR, x8
# |       10: 1e270376     	fmov	s22, w27
# |       14: 1e2102d5     	fcvtnu	w21, s22
# |       18: 1e270376     	fmov	s22, w27
# |       1c: 1e2102d5     	fcvtnu	w21, s22
# |       20: 1e270376     	fmov	s22, w27
# |       24: 1e2102d5     	fcvtnu	w21, s22
# |       28: 1e270376     	fmov	s22, w27
# |       2c: 1e2102d5     	fcvtnu	w21, s22
# |       30: 1e270376     	fmov	s22, w27
# |       34: 1e2102d5     	fcvtnu	w21, s22
# |       38: 1e270376     	fmov	s22, w27
# |       3c: 1e2102d5     	fcvtnu	w21, s22
# |       40: 1e270376     	fmov	s22, w27
# |       44: 1e2102d5     	fcvtnu	w21, s22
# |       48: 1e270376     	fmov	s22, w27
# |       4c: 1e2102d5     	fcvtnu	w21, s22
# |       50: 1e270376     	fmov	s22, w27
# |       54: 1e2102d5     	fcvtnu	w21, s22
# |       58: 1e270376     	
# | ...
# `---data was truncated--------
# .---command stderr------------
# | 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/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump -d %d
# |  #0 0x0000ac231dbf32c0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump+0x23632c0)
# |  #1 0x0000ac231dbf0ed4 llvm::sys::RunSignalHandlers() (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump+0x2360ed4)
# |  #2 0x0000ac231dbf404c SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
# |  #3 0x0000ed33f8f27968 (linux-vdso.so.1+0x968)
# |  #4 0x0000ac231dac51b8 llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, true>>::sections() const (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump+0x22351b8)
# |  #5 0x0000ac231daff9b0 llvm::object::ELFObjectFile<llvm::object::ELFType<(llvm::endianness)1, true>>::getSectionIndex(llvm::object::DataRefImpl) const (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump+0x226f9b0)
# |  #6 0x0000ac231d573ed0 disassembleObject(llvm::object::ObjectFile&, llvm::object::ObjectFile const&, (anonymous namespace)::DisassemblerTarget&, std::optional<(anonymous namespace)::DisassemblerTarget>&, llvm::objdump::SourcePrinter&, bool, llvm::raw_ostream&) llvm-objdump.cpp:0:0
# |  #7 0x0000ac231d56b14c dumpObject(llvm::object::ObjectFile*, llvm::object::Archive const*, llvm::object::Archive::Child const*) llvm-objdump.cpp:0:0
# |  #8 0x0000ac231d55df0c llvm_objdump_main(int, char**, llvm::ToolContext const&) (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump+0x1ccdf0c)
# |  #9 0x0000ac231d604578 main (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump+0x1d74578)
# | #10 0x0000ed33f8a373fc __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
# | #11 0x0000ed33f8a374cc call_init ./csu/../csu/libc-start.c:128:20
# | #12 0x0000ed33f8a374cc __libc_start_main ./csu/../csu/libc-start.c:379:5
# | #13 0x0000ac231d554b70 _start (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/llvm-objdump+0x1cc4b70)
# `-----------------------------
# error: command failed with exit status: -7
```
Seems like it's llvm-objdump crashing so it could be a disassembly issue we've not hit before. I won't have time to reproduce it until tomorrow.

Let me know if anything in there stands out or there's any reason having SVE or SVE2 on the machine would be a problem. For instance, is this expected?
```
# | error:           actual measurements skipped.
```

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


More information about the llvm-commits mailing list