[llvm] [AArch64][GlobalISel] Adopt dup(load) -> LD1R patterns from SelectionDAG (PR #66914)

David Spickett via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 21 05:35:36 PDT 2023


DavidSpickett wrote:

I've reverted this and the followup due to a test suite failure on AArch64 https://github.com/llvm/llvm-project/commit/1778d6802beff204a532e238c7186b3e08926004.

https://lab.llvm.org/buildbot/#/builders/183/builds/16057

To reproduce:
```
bin/clang -DNDEBUG -O0 -w -Werror=date-time -std=c99 -MD -MT -MF -o /tmp/test.o -c ../llvm-test-suite/SingleSource/UnitTests/Vector/AArch64/aarch64_neon_intrinsics.c
```
```
unhandled opcode in isAArch64FrameOffsetLegal
UNREACHABLE executed at /home/david.spickett/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:4834!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /home/david.spickett/build-llvm-aarch64/bin/clang -DNDEBUG -O0 -w -Werror=date-time -std=c99 -MD -MT -MF -o /tmp/test.o -c /home/david.spickett/llvm-test-suite/SingleSource/UnitTests/Vector/AArch64/aarch64_neon_intrinsics.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/home/david.spickett/llvm-test-suite/SingleSource/UnitTests/Vector/AArch64/aarch64_neon_intrinsics.c'.
4.      Running pass 'Local Stack Slot Allocation' on function '@dotests_1252'
 #0 0x0000aaaacdcc7900 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/david.spickett/build-llvm-aarch64/bin/clang+0x32d6900)
 #1 0x0000aaaacdcc56fc llvm::sys::RunSignalHandlers() (/home/david.spickett/build-llvm-aarch64/bin/clang+0x32d46fc)
 #2 0x0000aaaacdcc6c5c llvm::sys::CleanupOnSignal(unsigned long) (/home/david.spickett/build-llvm-aarch64/bin/clang+0x32d5c5c)
 #3 0x0000aaaacdc3c128 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #4 0x0000ffff98a685c0 (linux-vdso.so.1+0x5c0)
 #5 0x0000ffff9857dd78 raise /build/glibc-RIFKjK/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #6 0x0000ffff9856aaac abort /build/glibc-RIFKjK/glibc-2.31/stdlib/abort.c:81:7
 #7 0x0000aaaacdc4416c llvm::install_out_of_memory_new_handler() (/home/david.spickett/build-llvm-aarch64/bin/clang+0x325316c)
 #8 0x0000aaaacbc4e000 llvm::isAArch64FrameOffsetLegal(llvm::MachineInstr const&, llvm::StackOffset&, bool*, unsigned int*, long*) (/home/david.spickett/build-llvm-aarch64/bin/clang+0x125d000)
 #9 0x0000aaaacba8ec94 llvm::AArch64RegisterInfo::needsFrameBaseReg(llvm::MachineInstr*, long) const (/home/david.spickett/build-llvm-aarch64/bin/clang+0x109dc94)
#10 0x0000aaaacd1de474 (anonymous namespace)::LocalStackSlotPass::runOnMachineFunction(llvm::MachineFunction&) LocalStackSlotAllocation.cpp:0:0
#11 0x0000aaaacd248d34 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/home/david.spickett/build-llvm-aarch64/bin/clang+0x2857d34)
<...>
```

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


More information about the llvm-commits mailing list