blink_platform_unittests VectorMathTest fail in Win Clang ToT builds |
||
Issue descriptionThey seem to fail across all Windows bots. Here is one: https://ci.chromium.org/buildbot/chromium.clang/ToTWin%28dll%29/775
,
Jun 4 2018
Why do we only see this on Windows? Suspects: ------------------------------------------------------------------------ r333782 | spatel | 2018-06-01 21:23:18 +0200 (Fri, 01 Jun 2018) | 13 lines [InstCombine] fix vector shuffle transform to replace undef elements (PR37648) This bug: https://bugs.llvm.org/show_bug.cgi?id=37648 ...was created with the enhancement to this transform with rL332479. The urem test shows the disaster potential: any undef divisor lane makes the whole op undef. The test diffs show that vector demanded elements turns some of the potential, but not all, unused binop operands back into undef already. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r333783 | karka | 2018-06-01 21:34:35 +0200 (Fri, 01 Jun 2018) | 16 lines [ConstantFold] Disallow folding vector geps into bitcasts Summary: Getelementptr returns a vector of pointers, instead of a single address, when one or more of its arguments is a vector. In such case it is not possible to simplify the expression by inserting a bitcast of operand(0) into the destination type, as it will create a bitcast between different sizes. Reviewers: majnemer, mkuper, mssimpso, spatel Reviewed By: spatel Subscribers: lebedev.ri, llvm-commits Differential Revision: https://reviews.llvm.org/D46379 ------------------------------------------------------------------------ ------------------------------------------------------------------------ r333800 | ctopper | 2018-06-02 00:28:28 +0200 (Sat, 02 Jun 2018) | 1 line [X86] Add isel patterns to use vexpand with zero masking when the passthru value is a zero vector. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r333804 | ctopper | 2018-06-02 00:59:07 +0200 (Sat, 02 Jun 2018) | 3 lines [X86] Do something sensible when an expand load intrinsic is passed a 0 mask. Previously we just returned undef, but really we should be returning the pass thru input. We also need to make sure we preserve the chain output that the original intrinsic node had to maintain connectivity in the DAG. So we should just return the incoming chain as the output chain. ------------------------------------------------------------------------
,
Jun 4 2018
Repros locally with LLVM at r333782: blink_platform_unittests.exe --gtest_filter=VectorMathTest.Vmul IMPORTANT DEBUGGING NOTE: batches of tests are run inside their own process. For debugging a test inside a debugger, use the --gtest_filter=<your_test_name> flag along with --single-process-tests. Using sharding settings from environment. This is shard 0/1 Using 1 parallel jobs. Note: Google Test filter = VectorMathTest.Vmul [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from VectorMathTest [ RUN ] VectorMathTest.Vmul Received fatal exception EXCEPTION_ACCESS_VIOLATION Backtrace: blink::VectorMath::AVX::Vmul [0x00007FFB926655F0+97] (C:\src\chromium\src\third_party\blink\renderer\platform\audio\cpu\x86\vector_math_impl.h:222) blink::VectorMath::Vmul [0x00007FFB92447751+309] (C:\src\chromium\src\third_party\blink\renderer\platform\audio\vector_math.cc:151) blink::VectorMath::`anonymous namespace'::VectorMathTest_Vmul_Test::TestBody [0x00007FF7479B0BB2+298] (C:\src\chromium\src\third_party\blink\renderer\platform\audio\vector_math_test.cc:363) testing::Test::Run [0x00007FF747D55CCD+199] (C:\src\chromium\src\third_party\googletest\src\googletest\src\gtest.cc:2498) testing::TestInfo::Run [0x00007FF747D5665B+223] (C:\src\chromium\src\third_party\googletest\src\googletest\src\gtest.cc:2671) testing::TestCase::Run [0x00007FF747D56BD1+259] (C:\src\chromium\src\third_party\googletest\src\googletest\src\gtest.cc:2784) testing::internal::UnitTestImpl::RunAllTests [0x00007FF747D5DF01+641] (C:\src\chromium\src\third_party\googletest\src\googletest\src\gtest.cc:5046) testing::UnitTest::Run [0x00007FF747D5DB8C+168] (C:\src\chromium\src\third_party\googletest\src\googletest\src\gtest.cc:4663) base::TestSuite::Run [0x00007FF7481E037E+120] (C:\src\chromium\src\base\test\test_suite.cc:275) `anonymous namespace'::runTestSuite [0x00007FF747D24EDA+10] (C:\src\chromium\src\third_party\blink\renderer\platform\testing\run_all_tests.cc:44) base::OnceCallback<int ()>::Run [0x00007FF7481EC33F+55] (C:\src\chromium\src\base\callback.h:96) base::`anonymous namespace'::LaunchUnitTestsInternal [0x00007FF7481EB4FE+331] (C:\src\chromium\src\base\test\launcher\unit_test_launcher.cc:225) base::LaunchUnitTests [0x00007FF7481EB388+172] (C:\src\chromium\src\base\test\launcher\unit_test_launcher.cc:576) main [0x00007FF747D24E86+258] (C:\src\chromium\src\third_party\blink\renderer\platform\testing\run_all_tests.cc:62) __scrt_common_main_seh [0x00007FF7482A345C+268] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283) BaseThreadInitThunk [0x00007FFBB6168364+20] RtlUserThreadStart [0x00007FFBB62770B1+33] [1/1] VectorMathTest.Vmul (CRASHED) 1 test crashed: VectorMathTest.Vmul (../../third_party/blink/renderer/platform/audio/vector_math_test.cc:354) Tests took 0 seconds.
,
Jun 4 2018
I have to head out for today. If someone in the US has cycles to look at this, please go ahead, otherwise I'll resume in the morning.
,
Jun 4 2018
Maybe triggered by rnk changing the clang tot bots to 64-bit recently (see issue 844398 ), and not by an upstream change.
,
Jun 4 2018
> Maybe triggered by rnk changing the clang tot bots to 64-bit recently (see issue 844398 ), and not by an upstream change. This isn't ASan-specific, though, right? It's all ToT bots, non-ASan, 32-bit and 64-bit? I'll try to reproduce this this afternoon.
,
Jun 4 2018
The most interesting AVX-related change is r333800 by Craig Topper: [X86] Add isel patterns to use vexpand with zero masking when the passthru value is a zero vector.
,
Jun 4 2018
I was using the blame range: good: 333779 bad: 333806
,
Jun 4 2018
It was actually rjmccall in r333791: Cap "voluntary" vector alignment at 16 for all Darwin platforms
,
Jun 4 2018
Revert is in: r333958 This build picked it up: https://ci.chromium.org/buildbot/chromium.clang/ToTWin/1618
,
Jun 5 2018
Thanks! Bots looking good. |
||
►
Sign in to add a comment |
||
Comment 1 by h...@chromium.org
, Jun 4 2018