[llvm-bugs] [Bug 47757] New: getSizeInBits called on extended MVT

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Oct 7 18:20:59 PDT 2020


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

            Bug ID: 47757
           Summary: getSizeInBits called on extended MVT
           Product: new-bugs
           Version: 11.0
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: tmandry at google.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

Created attachment 24031
  --> https://bugs.llvm.org/attachment.cgi?id=24031&action=edit
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 at 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 https://bugs.llvm.org/ 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)

-- 
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/20201008/f50b8325/attachment-0001.html>


More information about the llvm-bugs mailing list