Issue 81012
Summary fatal error: error in backend: Do not know how to split this operator's operand! when compiling qtwebengine-6.6.1 with clang 17.0.6 on x86_64
Labels clang
Assignees
Reporter gcarq
    When compiling `dev-qt/qtwebengine-6.6.1` on Gentoo with a systemwide clang/libcxx profile, clang++ fails with exit code 70.
No special CXXFLAGS are passed besides `-ftrapping-math -fsemantic-interposition -ffp-contract=fast` to mimic gccs default behaviour.

```
Stack dump:
0.      Program arguments: /usr/lib/llvm/17/bin/clang++ -MMD -MF obj/skia/skia_opts_hsw/SkOpts_hsw.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_GL -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_HAS_WUFFS_LIBRARY -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DVK_USE_PLATFORM_XCB_KHR -DIS_SKIA_IMPL=1 -DSKIA_IMPLEMENTATION=1 -DSK_TYPEFACE_FACTORY_FREETYPE -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2 -DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -Igen -I../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium -I../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium/third_party/skia -I../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium/third_party/wuffs/src/release/c -I../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium/third_party/vulkan/include -I../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium/third_party/vulkan-deps/vulkan-headers/src/include -march=native -O3 -pipe -O2 -ftrapping-math -fsemantic-interposition -ffp-contract=fast -mavx2 -mbmi -mbmi2 -mf16c -mfma -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-argument -Wno-unknown-attributes -Wno-unknown-warning-option -Wno-predefined-identifier-outside-function -Wno-unknown-pragmas -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -msse3 -no-canonical-prefixes -fno-omit-frame-pointer -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-unused-but-set-variable -Wno-misleading-indentation -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wno-parentheses-equality -Wno-tautological-compare -Wno-thread-safety-attributes -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium/third_party/skia/src/opts/SkOpts_hsw.cpp -o obj/skia/skia_opts_hsw/SkOpts_hsw.o
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '../../../../../qtwebengine-everywhere-src-6.6.1/src/3rdparty/chromium/third_party/skia/src/opts/SkOpts_hsw.cpp'.
4. Running pass 'X86 DAG->DAG Instruction Selection' on function '@_ZN3hsw14interpret_skvmEPKN4skvm22InterpreterInstructionEiiiPKiPPNS0_9TraceHookEiiiPPv'
 #0 0x00007f12b45d7c06 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3dd7c06)
 #1 0x00007f12b45d52e0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3dd52e0)
 #2 0x00007f12b44fddfe (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3cfddfe)
 #3 0x00007f12b44fddbb (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3cfddbb)
 #4 0x00007f12b45d1589 (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3dd1589)
 #5 0x000055b8c1449bb1 (/usr/lib/llvm/17/bin/clang+++0x15bb1)
 #6 0x00007f12b4510c0e llvm::report_fatal_error(llvm::Twine const&, bool) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3d10c0e)
 #7 0x00007f12b4510ab7 llvm::report_fatal_error(char const*, bool) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3d10ab7)
 #8 0x00007f12b501aa4c (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x481aa4c)
 #9 0x00007f12b4feecb3 llvm::SelectionDAG::LegalizeTypes() (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x47eecb3)
#10 0x00007f12b512f2a1 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x492f2a1)
#11 0x00007f12b512e3d3 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x492e3d3)
#12 0x00007f12b512b27d llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x492b27d)
#13 0x00007f12b70ed505 (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x68ed505)
#14 0x00007f12b4aebb86 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x42ebb86)
#15 0x00007f12b477bfb5 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3f7bfb5)
#16 0x00007f12b4786113 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3f86113)
#17 0x00007f12b477cc30 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3f7cc30)
#18 0x00007f12bb2d42d3 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>) (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x2ad42d3)
#19 0x00007f12bb74abdb (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x2f4abdb)
#20 0x00007f12b9d11046 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x1511046)
#21 0x00007f12bc581af4 clang::FrontendAction::Execute() (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x3d81af4)
#22 0x00007f12bc4db373 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x3cdb373)
#23 0x00007f12bc614353 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x3e14353)
#24 0x000055b8c1448e2b cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm/17/bin/clang+++0x14e2b)
#25 0x000055b8c144684d (/usr/lib/llvm/17/bin/clang+++0x1284d)
#26 0x00007f12bc07eaa9 (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x387eaa9)
#27 0x00007f12b44fdd9c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm/17/bin/../lib64/libLLVM-17+libcxx.so+0x3cfdd9c)
#28 0x00007f12bc07e242 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x387e242)
#29 0x00007f12bc0344e7 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x38344e7)
#30 0x00007f12bc034aae clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x3834aae)
#31 0x00007f12bc05abd0 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&) (/usr/lib/llvm/17/bin/../lib64/libclang-cpp.so.17+libcxx+0x385abd0)
#32 0x000055b8c14456a1 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm/17/bin/clang+++0x116a1)
#33 0x000055b8c1455cb2 main (/usr/lib/llvm/17/bin/clang+++0x21cb2)
#34 0x00007f12b056ceea (/usr/lib64/libc.so.6+0x27eea)
#35 0x00007f12b056cfa5 __libc_start_main (/usr/lib64/libc.so.6+0x27fa5)
#36 0x000055b8c1442831 _start (/usr/lib/llvm/17/bin/clang+++0xe831)
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 17.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/17/bin
Configuration file: /etc/clang/x86_64-pc-linux-gnu-clang++.cfg
```

The preprocessed source and associated run script is attached:
[SkOpts_hsw-e1ebba.tar.gz](https://github.com/llvm/llvm-project/files/14197179/SkOpts_hsw-e1ebba.tar.gz)

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

Reply via email to