[llvm] Convert many LivePhysRegs uses to LiveRegUnits (PR #83905)

Vladimir Vereschaka via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 6 21:47:34 PST 2024


vvereschaka wrote:

@AtariDreams ,
looks like your changes break the `LLVM::stack-probing-no-scratch-reg.mir` test on the expensive check builders
* https://lab.llvm.org/buildbot/#/builders/104/builds/15818

the problem remains unattended for one day already. Would you take care of the problem as soon as possible or revert the changes?

```
*** Bad machine code: Illegal physical register for instruction ***
- function:    f
- basic block: %bb.1 if.then1 (0x55e553fd9e80)
- instruction: $xzr = frame-setup SUBXri $sp, 36, 12
- operand 0:   $xzr
$xzr is not a GPR64sp 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.
Stack dump:
0.	Program arguments: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir --start-before=shrink-wrap -stop-after=prologepilog -o -
1.	Running pass 'Function Pass Manager' on module '/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir'.
2.	Running pass 'Verify generated machine code' on function '@f'
 #0 0x000055e54a67df3a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
 #1 0x000055e54a67e35b PrintStackTraceSignalHandler(void*) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:1
 #2 0x000055e54a67b7ab llvm::sys::RunSignalHandlers() /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/Signals.cpp:105:20
 #3 0x000055e54a67d7d2 SignalHandler(int) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
 #4 0x00007f4f7b915520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #5 0x00007f4f7b9699fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #6 0x00007f4f7b915476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #7 0x00007f4f7b8fb7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #8 0x000055e54a5a28e1 llvm::report_fatal_error(llvm::Twine const&, bool) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/ErrorHandling.cpp:125:9
 #9 0x000055e5492b2c63 (anonymous namespace)::MachineVerifierPass::runOnMachineFunction(llvm::MachineFunction&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:327:14
#10 0x000055e549150cb6 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:93:33
#11 0x000055e549943cc2 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1445:20
#12 0x000055e549944072 llvm::FPPassManager::runOnModule(llvm::Module&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1491:13
#13 0x000055e5499444f3 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1560:20
#14 0x000055e54993f03b llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:542:13
#15 0x000055e549944e3d llvm::legacy::PassManager::run(llvm::Module&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1688:1
#16 0x000055e546302236 compileModule(char**, llvm::LLVMContext&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/tools/llc/llc.cpp:741:34
#17 0x000055e5462ffa4d main /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/tools/llc/llc.cpp:408:35
#18 0x00007f4f7b8fcd90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#19 0x00007f4f7b8fce40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#20 0x000055e5462fe6e5 _start (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc+0xb156e5)
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/stack-probing-no-scratch-reg.mir
--```

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


More information about the llvm-commits mailing list