[PATCH] D122533: [AVR] Remove AVRRelaxMemOperations

Ben Shi via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Mar 27 03:47:51 PDT 2022


benshi001 added a comment.

I have built (with -DCMAKE_BUILD_TYPE=Debug) and tested your patch, but got the following failure

  FAIL: LLVM :: CodeGen/AVR/pseudo/STDWPtrQRr.mir (150 of 152)
  ******************** TEST 'LLVM :: CodeGen/AVR/pseudo/STDWPtrQRr.mir' FAILED ********************
  Script:
  --
  : 'RUN: at line 1';   /home/shiben/work/llvm-project/build-x/bin/llc -O0 -run-pass=avr-expand-pseudo /home/shiben/work/llvm-project/llvm/test/CodeGen/AVR/pseudo/STDWPtrQRr.mir -o - | /home/shiben/work/llvm-project/build-x/bin/FileCheck /home/shiben/work/llvm-project/llvm/test/CodeGen/AVR/pseudo/STDWPtrQRr.mir
  --
  Exit Code: 2
  
  Command Output (stderr):
  --
  
  # After AVR pseudo instruction expansion pass
  # Machine code for function test: IsSSA, NoPHIs, TracksLiveness, NoVRegs
  
  bb.0.entry:
    STDPtrQRr $r29r28, 3, $r0
    STDPtrQRr $r29r28, 4, $r1
    STDPtrQRr $r29r28, 3, $r0
    STDPtrQRr killed $r29r28, 4, $r1
    STDPtrQRr $r29r28, 3, killed $r0
    STDPtrQRr $r29r28, 4, killed $r1
    STDPtrQRr $r29r28, 62, $r0
    STDPtrQRr $r29r28, 63, $r1
    PUSHRr $r28, implicit-def $sp, implicit $sp
    PUSHRr $r29, implicit-def $sp, implicit $sp
    $r28 = SBCIRdK killed $r28(tied-def 0), 193, implicit-def $sreg, implicit killed $sreg
    $r29 = SBCIRdK killed $r29(tied-def 0), 255, implicit-def $sreg, implicit killed $sreg
    STPtrRr $r29r28, $r0
    STDPtrQRr $r29r28, 1, $r1
    $r29 = POPRd implicit-def $sp, implicit $sp
    $r28 = POPRd implicit-def $sp, implicit $sp
    $r28 = SBCIRdK killed $r28(tied-def 0), 193, implicit-def $sreg, implicit killed $sreg
    $r29 = SBCIRdK killed $r29(tied-def 0), 255, implicit-def $sreg, implicit killed $sreg
    STPtrRr $r29r28, $r0
    STDPtrQRr $r29r28, 1, $r1
    PUSHRr $r28, implicit-def $sp, implicit $sp
    PUSHRr $r29, implicit-def $sp, implicit $sp
    $r28 = SBCIRdK killed $r28(tied-def 0), 193, implicit-def $sreg, implicit killed $sreg
    $r29 = SBCIRdK killed $r29(tied-def 0), 255, implicit-def $sreg, implicit killed $sreg
    STPtrRr $r29r28, killed $r0
    STDPtrQRr $r29r28, 1, killed $r1
    $r29 = POPRd implicit-def $sp, implicit $sp
    $r28 = POPRd implicit-def $sp, implicit $sp
  
  # End machine code for function test.
  
  *** Bad machine code: Using an undefined physical register ***
  - function:    test
  - basic block: %bb.0 entry (0x563a083b79e8)
  - instruction: $r28 = SBCIRdK killed $r28(tied-def 0), 193, implicit-def $sreg, implicit killed $sreg
  - operand 4:   implicit killed $sreg
  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/shiben/work/llvm-project/build-x/bin/llc -O0 -run-pass=avr-expand-pseudo /home/shiben/work/llvm-project/llvm/test/CodeGen/AVR/pseudo/STDWPtrQRr.mir -o -
  1.      Running pass 'Function Pass Manager' on module '/home/shiben/work/llvm-project/llvm/test/CodeGen/AVR/pseudo/STDWPtrQRr.mir'.
  2.      Running pass 'Verify generated machine code' on function '@test'
   #0 0x0000563a036e61a8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/shiben/work/llvm-project/llvm/lib/Support/Unix/Signals.inc:565:0
   #1 0x0000563a036e625f PrintStackTraceSignalHandler(void*) /home/shiben/work/llvm-project/llvm/lib/Support/Unix/Signals.inc:632:0
   #2 0x0000563a036e3e22 llvm::sys::RunSignalHandlers() /home/shiben/work/llvm-project/llvm/lib/Support/Signals.cpp:103:0
   #3 0x0000563a036e5b29 SignalHandler(int) /home/shiben/work/llvm-project/llvm/lib/Support/Unix/Signals.inc:407:0
   #4 0x00007f1480842980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
   #5 0x00007f147f4f2e87 raise /build/glibc-uZu3wS/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
   #6 0x00007f147f4f47f1 abort /build/glibc-uZu3wS/glibc-2.27/stdlib/abort.c:81:0
   #7 0x0000563a036202ea llvm::install_bad_alloc_error_handler(void (*)(void*, char const*, bool), void*) /home/shiben/work/llvm-project/llvm/lib/Support/ErrorHandling.cpp:126:0
   #8 0x0000563a026cec3f (anonymous namespace)::MachineVerifierPass::runOnMachineFunction(llvm::MachineFunction&) /home/shiben/work/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:307:0
   #9 0x0000563a0259c657 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/shiben/work/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:73:0
  #10 0x0000563a02c7f2b3 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/shiben/work/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1430:0
  #11 0x0000563a02c7f633 llvm::FPPassManager::runOnModule(llvm::Module&) /home/shiben/work/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1476:0
  #12 0x0000563a02c7fa7b (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/shiben/work/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1545:0
  #13 0x0000563a02c7a95b llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/shiben/work/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:535:0
  #14 0x0000563a02c8034f llvm::legacy::PassManager::run(llvm::Module&) /home/shiben/work/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1673:0
  #15 0x0000563a018e2ad1 compileModule(char**, llvm::LLVMContext&) /home/shiben/work/llvm-project/llvm/tools/llc/llc.cpp:724:0
  #16 0x0000563a018e073f main /home/shiben/work/llvm-project/llvm/tools/llc/llc.cpp:419:0
  #17 0x00007f147f4d5c87 __libc_start_main /build/glibc-uZu3wS/glibc-2.27/csu/../csu/libc-start.c:344:0
  #18 0x0000563a018df4ca _start (/home/shiben/work/llvm-project/build-x/bin/llc+0x14b54ca)
  FileCheck error: '<stdin>' is empty.
  FileCheck command line:  /home/shiben/work/llvm-project/build-x/bin/FileCheck /home/shiben/work/llvm-project/llvm/test/CodeGen/AVR/pseudo/STDWPtrQRr.mir
  
  --
  
  ********************
  ********************
  Failed Tests (1):
    LLVM :: CodeGen/AVR/pseudo/STDWPtrQRr.mir
  
  
  Testing Time: 33.51s
    Passed           : 148
    Expectedly Failed:   3
    Failed           :   1




Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122533/new/

https://reviews.llvm.org/D122533



More information about the cfe-commits mailing list