[prev in list] [next in list] [prev in thread] [next in thread] 

List:       llvm-bugs
Subject:    [llvm-bugs] [Bug 46507] New: GlobalISel assertion failure on AArch64 compilation
From:       via llvm-bugs <llvm-bugs () lists ! llvm ! org>
Date:       2020-06-30 0:24:53
Message-ID: bug-46507-206 () http ! bugs ! llvm ! org/
[Download RAW message or body]

--1593476694.7A070.25350
Date: Mon, 29 Jun 2020 17:24:54 -0700
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.llvm.org/
Auto-Submitted: auto-generated

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

            Bug ID: 46507
           Summary: GlobalISel assertion failure on AArch64 compilation
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedbugs@nondot.org
          Reporter: srhines@google.com
                CC: arnaud.degrandmaison@arm.com,
                    llvm-bugs@lists.llvm.org, smithp352@googlemail.com,
                    Ties.Stuij@arm.com

From https://github.com/android/ndk/issues/1289, we are seeing a crash with the
following code snippet:

$ /disk/llvm/build/bin/clang -cc1 -triple aarch64-none-linux-gnueabi -emit-obj
-x ir - <<EOF
%array = type [1 x {i8*, i32}]
define internal void @f(%array %arg) {
  %var = alloca %array
  store %array %arg, %array* %var
  ret void                       
}         
EOF
warning: overriding the module target triple with aarch64-none-linux-gnueabi
[-Woverride-module]
clang:
/disk/llvm/llvm-project/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp:295: bool
llvm::CallLowering::handleAssignments(llvm::CCState &,
SmallVectorImpl<llvm::CCValAssign> &, llvm::MachineIRBuilder &,
SmallVectorImpl<llvm::CallLowering::ArgInfo> &,
llvm::CallLowering::ValueHandler &) const: Assertion `VA.getValNo() == i &&
"Location doesn't correspond to current arg"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /disk/llvm/build/bin/clang -cc1 -triple
aarch64-none-linux-gnueabi -emit-obj -x ir - 
1.      Code generation
2.      Running pass 'Function Pass Manager' on module '<stdin>'.
3.      Running pass 'IRTranslator' on function '@f'
 #0 0x000000000412ea67 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/disk/llvm/build/bin/clang+0x412ea67)
 #1 0x000000000412ec09 PrintStackTraceSignalHandler(void*)
(/disk/llvm/build/bin/clang+0x412ec09)
 #2 0x000000000412d41b llvm::sys::RunSignalHandlers()
(/disk/llvm/build/bin/clang+0x412d41b)
 #3 0x000000000412f385 SignalHandler(int)
(/disk/llvm/build/bin/clang+0x412f385)
 #4 0x00007f49b56be110 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14110)
 #5 0x00007f49b5198761 raise
/build/glibc-M65Gwz/glibc-2.30/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #6 0x00007f49b518255b abort /build/glibc-M65Gwz/glibc-2.30/stdlib/abort.c:81:7
 #7 0x00007f49b518242f get_sysdep_segment_value
/build/glibc-M65Gwz/glibc-2.30/intl/loadmsgcat.c:509:8
 #8 0x00007f49b518242f _nl_load_domain
/build/glibc-M65Gwz/glibc-2.30/intl/loadmsgcat.c:970:34
 #9 0x00007f49b5191092 (/lib/x86_64-linux-gnu/libc.so.6+0x34092)
#10 0x0000000005218073 llvm::CallLowering::handleAssignments(llvm::CCState&,
llvm::SmallVectorImpl<llvm::CCValAssign>&, llvm::MachineIRBuilder&,
llvm::SmallVectorImpl<llvm::CallLowering::ArgInfo>&,
llvm::CallLowering::ValueHandler&) const (/disk/llvm/build/bin/clang+0x5218073)
#11 0x000000000521733d
llvm::CallLowering::handleAssignments(llvm::MachineIRBuilder&,
llvm::SmallVectorImpl<llvm::CallLowering::ArgInfo>&,
llvm::CallLowering::ValueHandler&) const (/disk/llvm/build/bin/clang+0x521733d)
#12 0x0000000001445ce4
llvm::AArch64CallLowering::lowerFormalArguments(llvm::MachineIRBuilder&,
llvm::Function const&, llvm::ArrayRef<llvm::ArrayRef<llvm::Register> >) const
(/disk/llvm/build/bin/clang+0x1445ce4)
#13 0x0000000005239959
llvm::IRTranslator::runOnMachineFunction(llvm::MachineFunction&)
(/disk/llvm/build/bin/clang+0x5239959)
#14 0x00000000030e1527
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(/disk/llvm/build/bin/clang+0x30e1527)
#15 0x000000000368e34c llvm::FPPassManager::runOnFunction(llvm::Function&)
(/disk/llvm/build/bin/clang+0x368e34c)
#16 0x000000000368e775 llvm::FPPassManager::runOnModule(llvm::Module&)
(/disk/llvm/build/bin/clang+0x368e775)
#17 0x000000000368eef4 (anonymous
namespace)::MPPassManager::runOnModule(llvm::Module&)
(/disk/llvm/build/bin/clang+0x368eef4)
#18 0x000000000368ea18 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/disk/llvm/build/bin/clang+0x368ea18)
#19 0x000000000368f491 llvm::legacy::PassManager::run(llvm::Module&)
(/disk/llvm/build/bin/clang+0x368f491)
#20 0x00000000044cee1c (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/disk/llvm/build/bin/clang+0x44cee1c)
#21 0x00000000044cadbb clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/disk/llvm/build/bin/clang+0x44cadbb)
#22 0x00000000058107c7 clang::CodeGenAction::ExecuteAction()
(/disk/llvm/build/bin/clang+0x58107c7)
#23 0x0000000004de2c78 clang::FrontendAction::Execute()
(/disk/llvm/build/bin/clang+0x4de2c78)
#24 0x0000000004d730ed
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/disk/llvm/build/bin/clang+0x4d730ed)
#25 0x0000000004f81427
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/disk/llvm/build/bin/clang+0x4f81427)
#26 0x0000000001200e2e cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/disk/llvm/build/bin/clang+0x1200e2e)
#27 0x00000000011f49b2 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
(/disk/llvm/build/bin/clang+0x11f49b2)
#28 0x00000000011f3bfe main (/disk/llvm/build/bin/clang+0x11f3bfe)
#29 0x00007f49b5183e0b __libc_start_main
/build/glibc-M65Gwz/glibc-2.30/csu/../csu/libc-start.c:342:3
#30 0x00000000011f33aa _start (/disk/llvm/build/bin/clang+0x11f33aa)
Aborted

-- 
You are receiving this mail because:
You are on the CC list for the bug.
--1593476694.7A070.25350
Date: Mon, 29 Jun 2020 17:24:54 -0700
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://bugs.llvm.org/
Auto-Submitted: auto-generated

<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - GlobalISel assertion failure on AArch64 compilation"
   href="https://bugs.llvm.org/show_bug.cgi?id=46507">46507</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>GlobalISel assertion failure on AArch64 compilation
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: AArch64
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs&#64;nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>srhines&#64;google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>arnaud.degrandmaison&#64;arm.com, llvm-bugs&#64;lists.llvm.org, \
smithp352&#64;googlemail.com, Ties.Stuij&#64;arm.com  </td>
        </tr></table>
      <p>
        <div>
        <pre>From <a \
href="https://github.com/android/ndk/issues/1289">https://github.com/android/ndk/issues/1289</a>, \
we are seeing a crash with the following code snippet:

$ /disk/llvm/build/bin/clang -cc1 -triple aarch64-none-linux-gnueabi -emit-obj
-x ir - &lt;&lt;EOF
%array = type [1 x {i8*, i32}]
define internal void &#64;f(%array %arg) {
  %var = alloca %array
  store %array %arg, %array* %var
  ret void                       
}         
EOF
warning: overriding the module target triple with aarch64-none-linux-gnueabi
[-Woverride-module]
clang:
/disk/llvm/llvm-project/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp:295: bool
llvm::CallLowering::handleAssignments(llvm::CCState &amp;,
SmallVectorImpl&lt;llvm::CCValAssign&gt; &amp;, llvm::MachineIRBuilder &amp;,
SmallVectorImpl&lt;llvm::CallLowering::ArgInfo&gt; &amp;,
llvm::CallLowering::ValueHandler &amp;) const: Assertion `VA.getValNo() == i \
&amp;&amp; &quot;Location doesn't correspond to current arg&quot;' failed.
PLEASE submit a bug report to <a \
href="https://bugs.llvm.org/">https://bugs.llvm.org/</a> and include the crash \
backtrace, preprocessed source, and associated run script. Stack dump:
0.      Program arguments: /disk/llvm/build/bin/clang -cc1 -triple
aarch64-none-linux-gnueabi -emit-obj -x ir - 
1.      Code generation
2.      Running pass 'Function Pass Manager' on module '&lt;stdin&gt;'.
3.      Running pass 'IRTranslator' on function '&#64;f'
 #0 0x000000000412ea67 llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;)
(/disk/llvm/build/bin/clang+0x412ea67)
 #1 0x000000000412ec09 PrintStackTraceSignalHandler(void*)
(/disk/llvm/build/bin/clang+0x412ec09)
 #2 0x000000000412d41b llvm::sys::RunSignalHandlers()
(/disk/llvm/build/bin/clang+0x412d41b)
 #3 0x000000000412f385 SignalHandler(int)
(/disk/llvm/build/bin/clang+0x412f385)
 #4 0x00007f49b56be110 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14110)
 #5 0x00007f49b5198761 raise
/build/glibc-M65Gwz/glibc-2.30/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #6 0x00007f49b518255b abort /build/glibc-M65Gwz/glibc-2.30/stdlib/abort.c:81:7
 #7 0x00007f49b518242f get_sysdep_segment_value
/build/glibc-M65Gwz/glibc-2.30/intl/loadmsgcat.c:509:8
 #8 0x00007f49b518242f _nl_load_domain
/build/glibc-M65Gwz/glibc-2.30/intl/loadmsgcat.c:970:34
 #9 0x00007f49b5191092 (/lib/x86_64-linux-gnu/libc.so.6+0x34092)
#10 0x0000000005218073 llvm::CallLowering::handleAssignments(llvm::CCState&amp;,
llvm::SmallVectorImpl&lt;llvm::CCValAssign&gt;&amp;, llvm::MachineIRBuilder&amp;,
llvm::SmallVectorImpl&lt;llvm::CallLowering::ArgInfo&gt;&amp;,
llvm::CallLowering::ValueHandler&amp;) const (/disk/llvm/build/bin/clang+0x5218073)
#11 0x000000000521733d
llvm::CallLowering::handleAssignments(llvm::MachineIRBuilder&amp;,
llvm::SmallVectorImpl&lt;llvm::CallLowering::ArgInfo&gt;&amp;,
llvm::CallLowering::ValueHandler&amp;) const (/disk/llvm/build/bin/clang+0x521733d)
#12 0x0000000001445ce4
llvm::AArch64CallLowering::lowerFormalArguments(llvm::MachineIRBuilder&amp;,
llvm::Function const&amp;, llvm::ArrayRef&lt;llvm::ArrayRef&lt;llvm::Register&gt; \
&gt;) const (/disk/llvm/build/bin/clang+0x1445ce4)
#13 0x0000000005239959
llvm::IRTranslator::runOnMachineFunction(llvm::MachineFunction&amp;)
(/disk/llvm/build/bin/clang+0x5239959)
#14 0x00000000030e1527
llvm::MachineFunctionPass::runOnFunction(llvm::Function&amp;)
(/disk/llvm/build/bin/clang+0x30e1527)
#15 0x000000000368e34c llvm::FPPassManager::runOnFunction(llvm::Function&amp;)
(/disk/llvm/build/bin/clang+0x368e34c)
#16 0x000000000368e775 llvm::FPPassManager::runOnModule(llvm::Module&amp;)
(/disk/llvm/build/bin/clang+0x368e775)
#17 0x000000000368eef4 (anonymous
namespace)::MPPassManager::runOnModule(llvm::Module&amp;)
(/disk/llvm/build/bin/clang+0x368eef4)
#18 0x000000000368ea18 llvm::legacy::PassManagerImpl::run(llvm::Module&amp;)
(/disk/llvm/build/bin/clang+0x368ea18)
#19 0x000000000368f491 llvm::legacy::PassManager::run(llvm::Module&amp;)
(/disk/llvm/build/bin/clang+0x368f491)
#20 0x00000000044cee1c (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::unique_ptr&lt;llvm::raw_pwrite_stream,
std::default_delete&lt;llvm::raw_pwrite_stream&gt; &gt;)
(/disk/llvm/build/bin/clang+0x44cee1c)
#21 0x00000000044cadbb clang::EmitBackendOutput(clang::DiagnosticsEngine&amp;,
clang::HeaderSearchOptions const&amp;, clang::CodeGenOptions const&amp;,
clang::TargetOptions const&amp;, clang::LangOptions const&amp;, llvm::DataLayout
const&amp;, llvm::Module*, clang::BackendAction,
std::unique_ptr&lt;llvm::raw_pwrite_stream,
std::default_delete&lt;llvm::raw_pwrite_stream&gt; &gt;)
(/disk/llvm/build/bin/clang+0x44cadbb)
#22 0x00000000058107c7 clang::CodeGenAction::ExecuteAction()
(/disk/llvm/build/bin/clang+0x58107c7)
#23 0x0000000004de2c78 clang::FrontendAction::Execute()
(/disk/llvm/build/bin/clang+0x4de2c78)
#24 0x0000000004d730ed
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&amp;)
(/disk/llvm/build/bin/clang+0x4d730ed)
#25 0x0000000004f81427
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/disk/llvm/build/bin/clang+0x4f81427)
#26 0x0000000001200e2e cc1_main(llvm::ArrayRef&lt;char const*&gt;, char const*,
void*) (/disk/llvm/build/bin/clang+0x1200e2e)
#27 0x00000000011f49b2 ExecuteCC1Tool(llvm::SmallVectorImpl&lt;char const*&gt;&amp;)
(/disk/llvm/build/bin/clang+0x11f49b2)
#28 0x00000000011f3bfe main (/disk/llvm/build/bin/clang+0x11f3bfe)
#29 0x00007f49b5183e0b __libc_start_main
/build/glibc-M65Gwz/glibc-2.30/csu/../csu/libc-start.c:342:3
#30 0x00000000011f33aa _start (/disk/llvm/build/bin/clang+0x11f33aa)
Aborted</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>
--1593476694.7A070.25350--


[Attachment #3 (text/plain)]

_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic