[llvm-bugs] [Bug 46996] New: bug in code generation for aarch64 target reg-to-reg copy

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Aug 4 14:45:10 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=46996

            Bug ID: 46996
           Summary: bug in code generation for aarch64 target reg-to-reg
                    copy
           Product: libraries
           Version: 10.0
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedbugs at nondot.org
          Reporter: vhaenel at anaconda.com
                CC: arnaud.degrandmaison at arm.com,
                    llvm-bugs at lists.llvm.org, smithp352 at googlemail.com,
                    Ties.Stuij at arm.com

Compile with assertions enabled and then try following reproducer:

```
; ModuleID = 'simplified.ll'
source_filename = "<string>"
target datalayout =
"e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "aarch64-linux-gnu"
define [3 x { double, i1 }] @"broken"() local_unnamed_addr #0 {
entry:
  ret [3 x { double, i1 }] zeroinitializer
}
```

Then reproduce with:

```
llc -march=aarch64 simplified.ll                                                
unimplemented reg-to-reg copy
UNREACHABLE executed at
/Users/vhaenel/git/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:2818!
Stack dump:
0.      Program arguments: git/llvm-build-10.0.1/bin/llc -march=aarch64
simplified.ll
1.      Running pass 'Function Pass Manager' on module 'simplified.ll'.
2.      Running pass 'Post-RA pseudo instruction expansion pass' on function
'@broken'
0  llc                      0x0000000106fe4058
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  llc                      0x0000000106fe2df8 llvm::sys::RunSignalHandlers() +
248
2  llc                      0x0000000106fe466d SignalHandler(int) + 285
3  libsystem_platform.dylib 0x00007fff7200f5fd _sigtramp + 29
4  libsystem_platform.dylib 0x000000000000004c _sigtramp + 18446603338603498092
5  libsystem_c.dylib        0x00007fff71ee5808 abort + 120
6  llc                      0x0000000107aaf68e
llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) + 462
7  llc                      0x000000010600f8a8
llvm::AArch64InstrInfo::copyPhysReg(llvm::MachineBasicBlock&,
llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, llvm::DebugLoc
const&, llvm::MCRegister, llvm::MCRegister, bool) const + 6856
8  llc                      0x000000010647758e (anonymous
namespace)::ExpandPostRA::runOnMachineFunction(llvm::MachineFunction&) + 2942
9  llc                      0x000000010656555d
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 349
10 llc                      0x00000001068e7928
llvm::FPPassManager::runOnFunction(llvm::Function&) + 1064
11 llc                      0x00000001068e7bf8
llvm::FPPassManager::runOnModule(llvm::Module&) + 72
12 llc                      0x00000001068e80f2
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1026
13 llc                      0x0000000105aabf53 compileModule(char**,
llvm::LLVMContext&) + 9219
14 llc                      0x0000000105aa97bc main + 1404
15 libdyld.dylib            0x00007fff71e16cc9 start + 1
[1]    3621 abort (core dumped)  git/llvm-build-10.0.1/bin/llc -march=aarch64
simplified.ll
git/llvm-build-10.0.1/bin/llc -march=aarch64 simplified.ll  0.02s user 9.80s
system 47% cpu 20.569 tot
```

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200804/e7e6f0d3/attachment-0001.html>


More information about the llvm-bugs mailing list