ClangToTAndroid64 fails to build due to clang assert |
|
Issue descriptionFrom https://build.chromium.org/p/chromium.fyi/builders/ClangToTAndroid64/builds/872 [6794/79049] CC obj/third_party/opus/opus/celt_decoder.o FAILED: obj/third_party/opus/opus/celt_decoder.o ../../third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF obj/third_party/opus/opus/celt_decoder.o.d -DOPUS_BUILD -DOPUS_EXPORT= -DHAVE_LRINT -DHAVE_LRINTF -DVAR_ARRAYS -DFIXED_POINT -DV8_DEPRECATION_WARNINGS -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DDISABLE_NACL -DSAFE_BROWSING_DB_REMOTE -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"303110\" -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION=r12b -D__GNU_SOURCE=1 -D__compiler_offsetof=__builtin_offsetof -Dnan=__builtin_nan -Dsnprintf=snprintf -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DOPUS_FIXED_POINT -I../../third_party/opus/src/celt -I../../third_party/opus/src/silk -I../../third_party/opus/src/silk/fixed -I../.. -Igen -I../../third_party/opus/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -fcolor-diagnostics -ffunction-sections -fno-short-enums --target=aarch64-linux-android -fno-omit-frame-pointer -gdwarf-3 -g1 --sysroot=../../third_party/android_tools/ndk/platforms/android-21/arch-arm64 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -O3 -fno-ident -fdata-sections -ffunction-sections -c ../../third_party/opus/src/celt/celt_decoder.c -o obj/third_party/opus/opus/celt_decoder.o clang-5.0: /b/c/builder/ClangToTAndroid64/src/third_party/llvm/include/llvm/CodeGen/ValueTypes.h:352: llvm::EVT llvm::EVT::getHalfNumVectorElementsVT(llvm::LLVMContext&) const: Assertion `!(EltCnt.Min & 1) && "Splitting vector, but not in half!"' failed. #0 0x0000000002038fca llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x2038fca) #1 0x000000000203703e llvm::sys::RunSignalHandlers() (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x203703e) #2 0x00000000020371a2 (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x20371a2) #3 0x00007f73315cb330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330) #4 0x00007f73301bfc37 gsignal /build/eglibc-oGUzwX/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0 #5 0x00007f73301c3028 abort /build/eglibc-oGUzwX/eglibc-2.19/stdlib/abort.c:91:0 #6 0x00007f73301b8bf6 __assert_fail_base /build/eglibc-oGUzwX/eglibc-2.19/assert/assert.c:92:0 #7 0x00007f73301b8ca2 (/lib/x86_64-linux-gnu/libc.so.6+0x2fca2) #8 0x000000000275265d (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x275265d) #9 0x0000000000c6083c (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0xc6083c) #10 0x0000000000c74859 llvm::AArch64TargetLowering::ReplaceNodeResults(llvm::SDNode*, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SelectionDAG&) const (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0xc74859) #11 0x00000000027c536a (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x27c536a) #12 0x00000000027f2645 (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x27f2645) #13 0x00000000027c6f90 (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x27c6f90) #14 0x00000000027c7d41 llvm::SelectionDAG::LegalizeTypes() (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x27c7d41) #15 0x000000000278cf21 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x278cf21) #16 0x000000000278dea6 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, bool&) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x278dea6) #17 0x0000000002795ac1 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x2795ac1) #18 0x0000000002797bc7 (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x2797bc7) #19 0x00000000019411e5 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x19411e5) #20 0x0000000001c17063 llvm::FPPassManager::runOnFunction(llvm::Function&) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x1c17063) #21 0x0000000001c1710c llvm::FPPassManager::runOnModule(llvm::Module&) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x1c1710c) #22 0x0000000001c17e5f llvm::legacy::PassManagerImpl::run(llvm::Module&) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x1c17e5f) #23 0x00000000021b7d88 (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x21b7d88) #24 0x00000000021b90d2 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> >) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x21b90d2) #25 0x000000000284fbdb (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x284fbdb) #26 0x0000000002c312d2 clang::ParseAST(clang::Sema&, bool, bool) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x2c312d2) #27 0x000000000284f2af clang::CodeGenAction::ExecuteAction() (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x284f2af) #28 0x000000000252a0d6 clang::FrontendAction::Execute() (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x252a0d6) #29 0x0000000002504076 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x2504076) #30 0x00000000025b3ea4 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0x25b3ea4) #31 0x0000000000bfe608 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0xbfe608) #32 0x0000000000b9df9e main (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0xb9df9e) #33 0x00007f73301aaf45 __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:321:0 #34 0x0000000000bf9f89 _start (/b/c/builder/ClangToTAndroid64/src/third_party/llvm-build/Release+Asserts/bin/clang-5.0+0xbf9f89)
,
May 15 2017
Suspects: ------------------------------------------------------------------------ r302712 | niravd | 2017-05-10 12:53:41 -0700 (Wed, 10 May 2017) | 21 lines [SDAG] Relax conditions under stores of loaded values can be merged Summary: Allow consecutive stores whose values come from consecutive loads to merged in the presense of other uses of the loads. Previously this was disallowed as in general the merged load cannot be shared with the other uses. Merging N stores into 1 may cause as many as N redundant loads. However in the context of caching this should have neglible affect on memory pressure and reduce instruction count making it almost always a win. Fixes PR32086. Reviewers: spatel, jyknight, andreadb, hfinkel, efriedma Reviewed By: efriedma Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30471 ------------------------------------------------------------------------
,
May 15 2017
No, that was reverted in r302746 and doesn't seem to have landed again.
,
May 15 2017
Ah, it's this one: ------------------------------------------------------------------------ r302678 | aemerson | 2017-05-10 08:15:38 -0700 (Wed, 10 May 2017) | 12 lines [AArch64] Enable use of reduction intrinsics. The new experimental reduction intrinsics can now be used, so I'm enabling this for AArch64. We will need this for SVE anyway, so it makes sense to do this for NEON reductions as well. The existing code to match shufflevector patterns are replaced with a direct lowering of the reductions to AArch64-specific nodes. Tests updated with the new, simpler, representation. Differential Revision: https://reviews.llvm.org/D32247 ------------------------------------------------------------------------ |
|
►
Sign in to add a comment |
|
Comment 1 by h...@chromium.org
, May 15 2017