<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 - getSizeInBits called on extended MVT"
href="https://bugs.llvm.org/show_bug.cgi?id=47757">47757</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>getSizeInBits called on extended MVT
</td>
</tr>
<tr>
<th>Product</th>
<td>new-bugs
</td>
</tr>
<tr>
<th>Version</th>
<td>11.0
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</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>new bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>tmandry@google.com
</td>
</tr>
<tr>
<th>CC</th>
<td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=24031" name="attach_24031" title="LLVM IR">attachment 24031</a> <a href="attachment.cgi?id=24031&action=edit" title="LLVM IR">[details]</a></span>
LLVM IR
When compiling Rust code targeting aarch64, I hit this assertion:
getSizeInBits called on extended MVT.
UNREACHABLE executed at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/include/llvm/Support/MachineValueType.h:756!
Backtrace below. I'm attaching the IR but have not yet been able to reproduce
using opt or llc. The assertion failure occurs in a pass that's only enabled
when emitting object code.
Using the options from --debug-pass=Arguments resulted in a lot of "unknown
option" failures from opt; when I cleaned out all of these, I got a segfault
during pass initialization. I'm not sure what to do next.
=== Backtrace ===
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff2237537 in __GI_abort () at abort.c:79
#2 0x00007fffefb3c443 in llvm::llvm_unreachable_internal (msg=<optimized out>,
file=0x7fffee651927 <str.13.llvm>
"/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/include/llvm/Support/MachineValueType.h",
line=756)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:210
#3 0x00007fffefb92b3c in llvm::MVT::getSizeInBits (this=<optimized out>)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/include/llvm/Support/MachineValueType.h:756
#4 0x00007ffff061eaef in llvm::CallLowering::handleAssignments
(this=<optimized out>, CCInfo=..., ArgLocs=..., MIRBuilder=..., Args=...,
Handler=...) at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp:380
#5 0x00007ffff061dd42 in llvm::CallLowering::handleAssignments (this=0x2,
MIRBuilder=..., Args=..., Handler=...)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp:183
#6 0x00007ffff1b12c1c in llvm::AArch64CallLowering::lowerFormalArguments
(this=0x7fffc011b460, MIRBuilder=..., F=..., VRegs=...)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp:467
#7 0x00007ffff0641e9d in llvm::IRTranslator::runOnMachineFunction
(this=<optimized out>, CurMF=...)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp:2410
#8 0x00007fffeffefa9d in llvm::MachineFunctionPass::runOnFunction
(this=0x7fffc006e390, F=...)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:73
#9 0x00007fffefd826b1 in llvm::FPPassManager::runOnFunction
(this=0x7fffc005a6d0, F=...)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1516
#10 0x00007fffefd899e8 in llvm::FPPassManager::runOnModule
(this=0x7fffc005a6d0, M=...)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1552
#11 0x00007fffefd82d5a in (anonymous namespace)::MPPassManager::runOnModule
(this=<optimized out>, M=...)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1617
#12 llvm::legacy::PassManagerImpl::run (this=<optimized out>, M=...)
at
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:614
#13 0x00007ffff417165a in LLVMRustWriteOutputFile (Target=<optimized out>,
PMR=0x7fffc027a230, M=0x7fffd46de190, Path=<optimized out>,
RustFileType=<optimized out>) at llvm-wrapper/PassWrapper.cpp:646
=== opt failure ===
~/frust/build/x86_64-unknown-linux-gnu/llvm/bin/opt -disable-output -tti
-targetlibinfo -assumption-cache-tracker -profile-summary-info
-machine-branch-prob -pre-isel-intrinsic-lowering -atomic-expand -verify
-lower-constant-intrinsics -unreachableblockelim -post-inline-ee-instrument
-scalarize-masked-mem-intrin -expand-reductions -stack-tagging -rewrite-symbols
-dwarfehprepare -safe-stack -cseinfo -irtranslator -gisel-known-bits
-aarch64-prelegalizer-combiner -cseinfo -legalizer -regbankselect -localizer
-gisel-known-bits -instruction-select -aarch64-expand-pseudo
-aarch64-speculation-hardening -aarch64-sls-hardening -aarch64-branch-targets
-live-debug-variables obj/src/connectivity/wlan/lib/mlme/rust/libwlan_mlme.ll
PLEASE submit a bug report to <a href="https://bugs.llvm.org/">https://bugs.llvm.org/</a> and include the crash
backtrace.
Stack dump:
0. Program arguments:
/usr/local/google/home/tmandry/frust/build/x86_64-unknown-linux-gnu/llvm/bin/opt
-disable-output -tti -targetlibinfo -assumption-cache-tracker
-profile-summary-info -machine-branch-prob -pre-isel-intrinsic-lowering
-atomic-expand -verify -lower-constant-intrinsics -unreachableblockelim
-post-inline-ee-instrument -scalarize-masked-mem-intrin -expand-reductions
-stack-tagging -rewrite-symbols -dwarfehprepare -safe-stack -cseinfo
-irtranslator -gisel-known-bits -aarch64-prelegalizer-combiner -cseinfo
-legalizer -regbankselect -localizer -gisel-known-bits -instruction-select
-aarch64-expand-pseudo -aarch64-speculation-hardening -aarch64-sls-hardening
-aarch64-branch-targets -live-debug-variables
obj/src/connectivity/wlan/lib/mlme/rust/libwlan_mlme.ll
#0 0x00007f51ed21c4fc llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:572:8
#1 0x00007f51ed21c4fc PrintStackTraceSignalHandler(void*)
(.llvm.11314778404941524178)
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:624:3
#2 0x00007f51ed21a110 llvm::sys::RunSignalHandlers()
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/Support/Signals.cpp:69:18
#3 0x00007f51ed21c775 SignalHandler(int)
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:0:3
#4 0x00007f51eb52f140 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
#5 0x00007f51ed62740e std::__2::unique_ptr<llvm::MCAsmInfo const,
std::__2::default_delete<llvm::MCAsmInfo const> >::get() const
/usr/local/google/home/tmandry/fuchsia/prebuilt/third_party/clang/linux-x64/bin/../include/c++/v1/memory:2443:19
#6 0x00007f51ed62740e llvm::TargetMachine::getMCAsmInfo() const
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/include/llvm/Target/TargetMachine.h:189:58
#7 0x00007f51ed62740e
llvm::MachineModuleInfo::MachineModuleInfo(llvm::LLVMTargetMachine const*)
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/CodeGen/MachineModuleInfo.cpp:193:28
#8 0x00007f51ed62740e
llvm::MachineModuleInfoWrapperPass::MachineModuleInfoWrapperPass(llvm::LLVMTargetMachine
const*)
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/CodeGen/MachineModuleInfo.cpp:294:26
#9 0x00007f51ed627c28 llvm::Pass*
llvm::callDefaultCtor<llvm::MachineModuleInfoWrapperPass>()
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/include/llvm/PassSupport.h:80:56
#10 0x00007f51ed3917e8 llvm::PassInfo::createPass() const
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/include/llvm/PassInfo.h:101:12
#11 0x00007f51ed3917e8 llvm::PMTopLevelManager::schedulePass(llvm::Pass*)
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:789:28
#12 0x000000000022f963 llvm::cl::opt_storage<bool, false, false>::getValue()
const
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/include/llvm/Support/CommandLine.h:1398:38
#13 0x000000000022f963 llvm::cl::opt_storage<bool, false, false>::operator
bool() const
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/include/llvm/Support/CommandLine.h:1402:38
#14 0x000000000022f963 addPass(llvm::legacy::PassManagerBase&, llvm::Pass*)
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/tools/opt/opt.cpp:375:7
#15 0x000000000022f963 main
/usr/local/google/home/tmandry/frust/src/llvm-project/llvm/tools/opt/opt.cpp:891:7
#16 0x00007f51eb238cca __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x26cca)
#17 0x000000000021e419 _start
(/usr/local/google/home/tmandry/frust/build/x86_64-unknown-linux-gnu/llvm/bin/opt+0x21e419)
fish: “~/frust/build/x86_64-unknown-li…” terminated by signal SIGSEGV (Address
boundary error)</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>