<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@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>srhines@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>arnaud.degrandmaison@arm.com, llvm-bugs@lists.llvm.org, smithp352@googlemail.com, Ties.Stuij@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 - <<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 <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 '<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</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>