New issue
Advanced search Search tips

Issue 791046 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

ClangToT bots failing with "Instruction does not dominate all uses!"

Project Member Reported by h...@chromium.org, Dec 1 2017

Issue description

For example:
https://ci.chromium.org/buildbot/chromium.clang/ToTLinux/965

FAILED: obj/crypto/crypto/p224.o 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/crypto/crypto/p224.o.d -DCRYPTO_IMPLEMENTATION -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=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 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DCR_CLANG_REVISION=\"319547\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCOMPONENT_BUILD -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DBORINGSSL_SHARED_LIBRARY -I../.. -Igen -I../../build/linux/debian_stretch_amd64-sysroot/usr/include/glib-2.0 -I../../build/linux/debian_stretch_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../../third_party/boringssl/src/include -I../../build/linux/debian_stretch_amd64-sysroot/usr/include/nss -I../../build/linux/debian_stretch_amd64-sysroot/usr/include/nspr -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 -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -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 -Wno-null-pointer-arithmetic -Wno-tautological-constant-compare -Wtautological-constant-out-of-range-compare -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g2 -ggnu-pubnames -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wno-header-guard -std=gnu++14 -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_stretch_amd64-sysroot -fvisibility-inlines-hidden -c ../../crypto/p224.cc -o obj/crypto/crypto/p224.o
Instruction does not dominate all uses!
  %30 = extractelement <2 x i64> %29, i32 1, !dbg !3292
  %16 = insertelement <2 x i64> undef, i64 %30, i32 0, !dbg !3292
fatal error: error in backend: Broken function found, compilation aborted!
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 6.0.0 (trunk 319547)
 

Comment 1 by h...@chromium.org, Dec 1 2017

First bad: https://ci.chromium.org/buildbot/chromium.clang/ToTLinux/956

Good clang: 319524
Bad clang:  319532

One candidate is this one, which was reverted once before:

------------------------------------------------------------------------
r319531 | dinar | 2017-12-01 03:10:47 -0800 (Fri, 01 Dec 2017) | 22 lines

[SLPVectorizer] Failure to beneficially vectorize 'copyable' elements in integer binary ops.
    
            Patch tries to improve vectorization of the following code:
    
            void add1(int * __restrict dst, const int * __restrict src) {
              *dst++ = *src++;
              *dst++ = *src++ + 1;
              *dst++ = *src++ + 2;
              *dst++ = *src++ + 3;
            }
            Allows to vectorize even if the very first operation is not a binary add, but just a load.
    
            Fixed issues related to previous commit.
    
            Reviewers: spatel, mzolotukhin, mkuper, hfinkel, RKSimon, filcab, ABataev
    
            Reviewed By: ABataev, RKSimon
    
            Subscribers: llvm-commits, RKSimon
    
            Differential Revision: https://reviews.llvm.org/D28907

------------------------------------------------------------------------

Comment 2 by h...@chromium.org, Dec 1 2017

Attaching the repro.
p224-302cc1.sh
8.6 KB View Download
p224-302cc1.cpp
3.1 MB View Download

Comment 3 by h...@chromium.org, Dec 1 2017

Status: Fixed (was: Assigned)
Reverted in r319550

Sign in to add a comment