ClangToT asserts "getVRegDef assumes a single definition or no definition" |
|||
Issue descriptionFrom https://build.chromium.org/p/chromium.fyi/builders/ClangToTLinux/builds/9092 FAILED: obj/third_party/angle/src/tests/angle_end2end_tests/VertexAttributeTest.o ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/tests/angle_end2end_tests/VertexAttributeTest.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=\"313352\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCOMPONENT_BUILD -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES -DANGLE_X64_CPU -DANGLE_ENABLE_OPENGL -DANGLE_USE_X11 -DANGLE_ENABLE_VULKAN -DANGLE_ENABLE_NULL -DLIBANGLE_IMPLEMENTATION -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DGTEST_API_= -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -DUNIT_TEST -I../../third_party/angle/src/tests/testing/gtest/include -I../../third_party/angle/src/tests -I../../third_party/angle/util -I../.. -Igen -I../../third_party/angle/include -I../../third_party/angle/src -I../../build/linux/debian_jessie_amd64-sysroot/usr/include/glib-2.0 -I../../build/linux/debian_jessie_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../../third_party/googletest/src/googletest/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/googletest/custom -I../../third_party/googletest/src/googlemock/include -I../../third_party/angle/include -I../../third_party/angle/src -I../../third_party/angle/src/common/third_party/base -Igen/angle -I../../third_party/angle/util -I../../third_party/angle/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 -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -m64 -march=x86-64 -Wall -Werror -Wextra -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 -Wno-enum-compare-switch -Wno-tautological-unsigned-zero-compare -O2 -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -g2 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -std=gnu++14 -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_jessie_amd64-sysroot -fno-exceptions -fvisibility-inlines-hidden -c ../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp -o obj/third_party/angle/src/tests/angle_end2end_tests/VertexAttributeTest.o clang-6.0: /b/c/builder/ClangToTLinux/src/third_party/llvm/lib/CodeGen/MachineRegisterInfo.cpp:366: llvm::MachineInstr* llvm::MachineRegisterInfo::getVRegDef(unsigned int) const: Assertion `(I.atEnd() || std::next(I) == def_instr_end()) && "getVRegDef assumes a single definition or no definition"' failed. #0 0x00000000020da83a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x20da83a) #1 0x00000000020d891e llvm::sys::RunSignalHandlers() (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x20d891e) #2 0x00000000020d8a82 (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x20d8a82) #3 0x00007f4e998aa330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330) #4 0x00007f4e9849ac37 gsignal /build/eglibc-SvCtMH/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0 #5 0x00007f4e9849e028 abort /build/eglibc-SvCtMH/eglibc-2.19/stdlib/abort.c:91:0 #6 0x00007f4e98493bf6 __assert_fail_base /build/eglibc-SvCtMH/eglibc-2.19/assert/assert.c:92:0 #7 0x00007f4e98493ca2 (/lib/x86_64-linux-gnu/libc.so.6+0x2fca2) #8 0x00000000019e9cd1 llvm::MachineRegisterInfo::getVRegDef(unsigned int) const (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x19e9cd1) #9 0x000000000165eaaf (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x165eaaf) #10 0x0000000001662569 (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1662569) #11 0x00000000016629b7 (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x16629b7) #12 0x0000000001662c58 (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1662c58) #13 0x0000000001663dcc (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1663dcc) #14 0x0000000001663dbf (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1663dbf) #15 0x0000000001663dbf (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1663dbf) #16 0x0000000001663dbf (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1663dbf) #17 0x0000000001663dbf (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1663dbf) #18 0x0000000001663dbf (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1663dbf) #19 0x0000000001663dbf (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1663dbf) #20 0x00000000016649ec (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x16649ec) #21 0x0000000001990205 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1990205) #22 0x0000000001c8c773 llvm::FPPassManager::runOnFunction(llvm::Function&) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1c8c773) #23 0x0000000001c8c81c llvm::FPPassManager::runOnModule(llvm::Module&) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1c8c81c) #24 0x0000000001c8d09f llvm::legacy::PassManagerImpl::run(llvm::Module&) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x1c8d09f) #25 0x00000000022622f8 (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x22622f8) #26 0x0000000002263592 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/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x2263592) #27 0x0000000002941c6b (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x2941c6b) #28 0x0000000002d40cf2 clang::ParseAST(clang::Sema&, bool, bool) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x2d40cf2) #29 0x000000000294130f clang::CodeGenAction::ExecuteAction() (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x294130f) #30 0x00000000025f88b6 clang::FrontendAction::Execute() (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x25f88b6) #31 0x00000000025d010e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x25d010e) #32 0x0000000002688fbb clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0x2688fbb) #33 0x0000000000bbe678 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0xbbe678) #34 0x0000000000b55c5e main (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0xb55c5e) #35 0x00007f4e98485f45 __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:321:0 #36 0x0000000000bb9d79 _start (/b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0+0xbb9d79) Stack dump: 0. Program arguments: /b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/bin/clang-6.0 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name VertexAttributeTest.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -momit-leaf-frame-pointer -ffunction-sections -fdata-sections -coverage-notes-file /b/c/builder/ClangToTLinux/src/out/Release/obj/third_party/angle/src/tests/angle_end2end_tests/VertexAttributeTest.gcno -nostdinc++ -resource-dir /b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0 -dependency-file obj/third_party/angle/src/tests/angle_end2end_tests/VertexAttributeTest.o.d -MT obj/third_party/angle/src/tests/angle_end2end_tests/VertexAttributeTest.o -isystem ../../buildtools/third_party/libc++/trunk/include -isystem ../../buildtools/third_party/libc++abi/trunk/include -D V8_DEPRECATION_WARNINGS -D USE_UDEV -D USE_AURA=1 -D USE_PANGO=1 -D USE_CAIRO=1 -D USE_GLIB=1 -D USE_NSS_CERTS=1 -D USE_X11=1 -D FULL_SAFE_BROWSING -D SAFE_BROWSING_CSD -D SAFE_BROWSING_DB_LOCAL -D CHROMIUM_BUILD -D FIELDTRIAL_TESTING_ENABLED -D CR_CLANG_REVISION="313352" -D _FILE_OFFSET_BITS=64 -D _LARGEFILE_SOURCE -D _LARGEFILE64_SOURCE -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D COMPONENT_BUILD -D NDEBUG -D NVALGRIND -D DYNAMIC_ANNOTATIONS_ENABLED=0 -D GL_GLEXT_PROTOTYPES -D EGL_EGLEXT_PROTOTYPES -D ANGLE_X64_CPU -D ANGLE_ENABLE_OPENGL -D ANGLE_USE_X11 -D ANGLE_ENABLE_VULKAN -D ANGLE_ENABLE_NULL -D LIBANGLE_IMPLEMENTATION -D GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -D GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -D GTEST_API_= -D GTEST_HAS_POSIX_RE=0 -D GTEST_LANG_CXX11=1 -D U_USING_ICU_NAMESPACE=0 -D U_ENABLE_DYLOAD=0 -D ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -D UCHAR_TYPE=uint16_t -D UNIT_TEST -I ../../third_party/angle/src/tests/testing/gtest/include -I ../../third_party/angle/src/tests -I ../../third_party/angle/util -I ../.. -I gen -I ../../third_party/angle/include -I ../../third_party/angle/src -I ../../build/linux/debian_jessie_amd64-sysroot/usr/include/glib-2.0 -I ../../build/linux/debian_jessie_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -I ../../third_party/googletest/src/googletest/include -I ../../third_party/ced/src -I ../../third_party/icu/source/common -I ../../third_party/icu/source/i18n -I ../../third_party/googletest/custom -I ../../third_party/googletest/src/googlemock/include -I ../../third_party/angle/include -I ../../third_party/angle/src -I ../../third_party/angle/src/common/third_party/base -I gen/angle -I ../../third_party/angle/util -I ../../third_party/angle/include -D __DATE__= -D __TIME__= -D __TIMESTAMP__= -isysroot ../../build/linux/debian_jessie_amd64-sysroot -internal-isystem ../../build/linux/debian_jessie_amd64-sysroot/usr/local/include -internal-isystem /b/c/builder/ClangToTLinux/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0/include -internal-externc-isystem ../../build/linux/debian_jessie_amd64-sysroot/usr/include/x86_64-linux-gnu -internal-externc-isystem ../../build/linux/debian_jessie_amd64-sysroot/include -internal-externc-isystem ../../build/linux/debian_jessie_amd64-sysroot/usr/include -O2 -Wno-builtin-macro-redefined -Wall -Werror -Wextra -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 -Wno-enum-compare-switch -Wno-tautological-unsigned-zero-compare -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -std=gnu++14 -fdeprecated-macro -fdebug-compilation-dir /b/c/builder/ClangToTLinux/src/out/Release -ferror-limit 19 -fmessage-length 0 -fvisibility hidden -fvisibility-inlines-hidden -pthread -stack-protector 1 -stack-protector-buffer-size 4 -fno-rtti -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o obj/third_party/angle/src/tests/angle_end2end_tests/VertexAttributeTest.o -x c++ ../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp 1. <eof> parser at end of file 2. Code generation 3. Running pass 'Function Pass Manager' on module '../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp'. 4. Running pass 'X86 LEA Optimize' on function '@_ZN12_GLOBAL__N_154VertexAttributeTestES31_DrawArraysWithLargeStride_Test8TestBodyEv' clang-6.0: error: unable to execute command: Aborted (core dumped) clang-6.0: error: clang frontend command failed due to signal (use -v to see invocation) clang version 6.0.0 (trunk 313352) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /b/c/builder/ClangToTLinux/src/out/Release/../../third_party/llvm-build/Release+Asserts/bin clang-6.0: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script. clang-6.0: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-6.0: note: diagnostic msg: /b/rr/tmp1Jg17m/t/VertexAttributeTest-0ad698.cpp clang-6.0: note: diagnostic msg: /b/rr/tmp1Jg17m/t/VertexAttributeTest-0ad698.sh clang-6.0: note: diagnostic msg: ********************
,
Sep 15 2017
Clang range: r313341 -- r313352. Suspects: ------------------------------------------------------------------------ r313349 | jonpa | 2017-09-15 00:47:38 -0700 (Fri, 15 Sep 2017) | 9 lines Recommit "[RegAlloc] Make sure live-ranges reflect the state of the IR when removing them" This was temporarily reverted, but now that the fix has been commited (r313197) it should be put back in place. https://bugs.llvm.org/show_bug.cgi?id=34502 This reverts commit 9ef93d9dc4c51568e858cf8203cd2c5ce8dca796. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r313343 | jbhateja | 2017-09-14 22:29:51 -0700 (Thu, 14 Sep 2017) | 33 lines [X86] PR32755 : Improvement in CodeGen instruction selection for LEAs. Summary: 1/ Operand folding during complex pattern matching for LEAs has been extended, such that it promotes Scale to accommodate similar operand appearing in the DAG. e.g. T1 = A + B T2 = T1 + 10 T3 = T2 + A For above DAG rooted at T3, X86AddressMode will no look like Base = B , Index = A , Scale = 2 , Disp = 10 2/ During OptimizeLEAPass down the pipeline factorization is now performed over LEAs so that if there is an opportunity then complex LEAs (having 3 operands) could be factored out. e.g. leal 1(%rax,%rcx,1), %rdx leal 1(%rax,%rcx,2), %rcx will be factored as following leal 1(%rax,%rcx,1), %rdx leal (%rdx,%rcx) , %edx 3/ Aggressive operand folding for AM based selection for LEAs is sensitive to loops, thus avoiding creation of any complex LEAs within a loop. Reviewers: lsaba, RKSimon, craig.topper, qcolombet Reviewed By: lsaba Subscribers: spatel, igorb, llvm-commits Differential Revision: https://reviews.llvm.org/D35014 ------------------------------------------------------------------------
,
Sep 15 2017
r313343 is the one.
,
Sep 15 2017
Oh, and someone already reported the problem on the commit thread.
,
Sep 15 2017
Files upstream: https://bugs.llvm.org/show_bug.cgi?id=34629 Reverted in r313376
,
Sep 20 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by h...@chromium.org
, Sep 15 201710.8 KB
10.8 KB View Download
8.0 MB
8.0 MB View Download