[llvm-bugs] [Bug 44812] New: Assertion failure in SelectionDAGLegalize::LegalizeOp on 32-bit x86

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Feb 6 05:07:42 PST 2020


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

            Bug ID: 44812
           Summary: Assertion failure in SelectionDAGLegalize::LegalizeOp
                    on 32-bit x86
           Product: new-bugs
           Version: 10.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: bero at lindev.ch
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

Building Qt 5.14.1 examples fails on 32-bit x86 (64-bit x86, aarch64 and
armv7hnl are ok, /usr/bin/ld is lld):

$ clang++ -pipe -ccc-gcc-name g++ -Os -fomit-frame-pointer -g1
-Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2
-fstack-protector-strong --param=ssp-buffer-size=4 -m32 -march=i686
-mtune=generic -msse -mfpmath=sse -fasynchronous-unwind-tables -mstackrealign
-flto -Ofast -Wl,--enable-new-dtags -o gradients .obj/main.o .obj/gradients.o
.obj/fbopaintdevice.o .obj/arthurstyle.o .obj/arthurwidgets.o
.obj/hoverpoints.o .obj/qrc_shared.o .obj/qrc_gradients.o .obj/moc_gradients.o
.obj/moc_arthurwidgets.o .obj/moc_hoverpoints.o  
/home/bero/temp/abf/qt5-qtbase/BUILD/qtbase-everywhere-src-5.14.1/lib/libQt5Widgets.so
/home/bero/temp/abf/qt5-qtbase/BUILD/qtbase-everywhere-src-5.14.1/lib/libQt5Gui.so
/home/bero/temp/abf/qt5-qtbase/BUILD/qtbase-everywhere-src-5.14.1/lib/libQt5Core.so
-lGL -lpthread
ld:
/builddir/build/BUILD/llvm-project-release-10.x/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:978:
void (anonymous namespace)::SelectionDAGLegalize::LegalizeOp(llvm::SDNode *):
Assertion `(TLI.getTypeAction(*DAG.getContext(), Op.getValueType()) ==
TargetLowering::TypeLegal || Op.getOpcode() == ISD::TargetConstant ||
Op.getOpcode() == ISD::Register) && "Unexpected illegal type!"' failed.
Stack dump:
0.      Program arguments: /usr/bin/ld --build-id --eh-frame-hdr -m elf_i386
-dynamic-linker /lib/ld-linux.so.2 -o gradients
/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1/../../../crt1.o
/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1/../../../crti.o
/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1/crtbegin.o
/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1/crtfastmath.o
-L/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1
-L/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1/../../../../i686-openmandriva-linux-gnu/lib
-L/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1/../../..
-L/usr/bin/../lib -L/lib -L/usr/lib -plugin /usr/bin/../lib/LLVMgold.so
-plugin-opt=mcpu=i686 -plugin-opt=O3 --enable-new-dtags .obj/main.o
.obj/gradients.o .obj/fbopaintdevice.o .obj/arthurstyle.o .obj/arthurwidgets.o
.obj/hoverpoints.o .obj/qrc_shared.o .obj/qrc_gradients.o .obj/moc_gradients.o
.obj/moc_arthurwidgets.o .obj/moc_hoverpoints.o
/home/bero/temp/abf/qt5-qtbase/BUILD/qtbase-everywhere-src-5.14.1/lib/libQt5Widgets.so
/home/bero/temp/abf/qt5-qtbase/BUILD/qtbase-everywhere-src-5.14.1/lib/libQt5Gui.so
/home/bero/temp/abf/qt5-qtbase/BUILD/qtbase-everywhere-src-5.14.1/lib/libQt5Core.so
-lGL -lpthread -lstdc++ -lgcc_s -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc
/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1/crtend.o
/usr/bin/../lib/gcc/i686-openmandriva-linux-gnu/9.2.1/../../../crtn.o 
1.      Running pass 'Function Pass Manager' on module 'ld-temp.o'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function
'@_ZN14GradientWidget10setDefaultEi'
 #0 0xf793e49f (/usr/lib/libLLVMSupport.so.10.0+0x22849f)
 #1 0xf793b41e llvm::sys::RunSignalHandlers()
(/usr/lib/libLLVMSupport.so.10.0+0x22541e)
 #2 0xf793e6b4 (/usr/lib/libLLVMSupport.so.10.0+0x2286b4)
 #3 0xf7efeb60 (linux-gate.so.1+0xb60)
 #4 0xf7efeb49 (linux-gate.so.1+0xb49)
 #5 0xf7352c42 raise (/lib/libc.so.6+0x3dc42)
 #6 0xf733230b abort (/lib/libc.so.6+0x1d30b)
 #7 0xf73321d3 plural_eval.cold (/lib/libc.so.6+0x1d1d3)
 #8 0xf734360b (/lib/libc.so.6+0x2e60b)
 #9 0xf2d9eee9 (/usr/lib/libLLVMSelectionDAG.so.10.0+0x210ee9)
#10 0xf2d9eb28 llvm::SelectionDAG::Legalize()
(/usr/lib/libLLVMSelectionDAG.so.10.0+0x210b28)
#11 0xf2faf06a llvm::SelectionDAGISel::CodeGenAndEmitDAG()
(/usr/lib/libLLVMSelectionDAG.so.10.0+0x42106a)
#12 0xf2fad8eb
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction,
false, false, void>, false, true>,
llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false,
false, void>, false, true>, bool&)
(/usr/lib/libLLVMSelectionDAG.so.10.0+0x41f8eb)
#13 0xf2fac82b llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function
const&) (/usr/lib/libLLVMSelectionDAG.so.10.0+0x41e82b)
#14 0xf2fa8ad9
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(/usr/lib/libLLVMSelectionDAG.so.10.0+0x41aad9)
#15 0xf4d5b0a3 (/usr/lib/libLLVMX86CodeGen.so.10.0+0x2b50a3)
#16 0xf28eb605 llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(/usr/lib/libLLVMCodeGen.so.10.0+0x436605)
#17 0xf37ad036 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/usr/lib/libLLVMCore.so.10.0+0x395036)
#18 0xf37ad518 llvm::FPPassManager::runOnModule(llvm::Module&)
(/usr/lib/libLLVMCore.so.10.0+0x395518)
#19 0xf37adc8a llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/usr/lib/libLLVMCore.so.10.0+0x395c8a)
#20 0xf37ae627 llvm::legacy::PassManager::run(llvm::Module&)
(/usr/lib/libLLVMCore.so.10.0+0x396627)
#21 0xf47087ad (/usr/lib/libLLVMLTO.so.10.0+0x4e7ad)
#22 0xf4703306 llvm::lto::backend(llvm::lto::Config const&,
std::function<std::unique_ptr<llvm::lto::NativeObjectStream,
std::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>, unsigned
int, std::unique_ptr<llvm::Module, std::default_delete<llvm::Module> >,
llvm::ModuleSummaryIndex&) (/usr/lib/libLLVMLTO.so.10.0+0x49306)
#23 0xf46f779f
llvm::lto::LTO::runRegularLTO(std::function<std::unique_ptr<llvm::lto::NativeObjectStream,
std::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>)
(/usr/lib/libLLVMLTO.so.10.0+0x3d79f)
#24 0xf46f6e75
llvm::lto::LTO::run(std::function<std::unique_ptr<llvm::lto::NativeObjectStream,
std::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)>,
std::function<std::function<std::unique_ptr<llvm::lto::NativeObjectStream,
std::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)> (unsigned
int, llvm::StringRef)>) (/usr/lib/libLLVMLTO.so.10.0+0x3ce75)
#25 0xf7d3f999 lld::elf::BitcodeCompiler::compile()
(/usr/lib/liblldELF.so.10.0+0x1e4999)
#26 0xf7ca7b33 void
lld::elf::LinkerDriver::compileBitcodeFiles<llvm::object::ELFType<(llvm::support::endianness)1,
false> >() (/usr/lib/liblldELF.so.10.0+0x14cb33)
#27 0xf7c96c15 void
lld::elf::LinkerDriver::link<llvm::object::ELFType<(llvm::support::endianness)1,
false> >(llvm::opt::InputArgList&) (/usr/lib/liblldELF.so.10.0+0x13bc15)
#28 0xf7c8ce75 lld::elf::LinkerDriver::main(llvm::ArrayRef<char const*>)
(/usr/lib/liblldELF.so.10.0+0x131e75)
#29 0xf7c8ac60 lld::elf::link(llvm::ArrayRef<char const*>, bool,
llvm::raw_ostream&, llvm::raw_ostream&) (/usr/lib/liblldELF.so.10.0+0x12fc60)
#30 0x00402a28 (/usr/bin/ld+0x402a28)
#31 0xf7333f61 __libc_start_main (/lib/libc.so.6+0x1ef61)
#32 0x00402021 (/usr/bin/ld+0x402021)
clang-10: error: unable to execute command: Aborted (core dumped)
clang-10: error: linker command failed due to signal (use -v to see invocation)

-- 
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/20200206/4269be4d/attachment.html>


More information about the llvm-bugs mailing list