[r15-5336 Regression] FAIL: gcc.dg/guality/pr36728-4.c -Os -DPREVENT_OPTIMIZATION line 16 y == 2 on Linux/x86_64

Andrew Pinski pinskia@gmail.com
Sun Nov 17 08:53:04 GMT 2024


On Sat, Nov 16, 2024 at 9:27 AM haochen.jiang <haochenj@smtp.intel.com> wrote:
>
> On Linux/x86_64,
>
> cee7d080d5c2a5fb8125878998b742c040ec88b4 is the first bad commit
> commit cee7d080d5c2a5fb8125878998b742c040ec88b4
> Author: Jan Hubicka <hubicka@ucw.cz>
> Date:   Sat Nov 16 14:04:32 2024 +0100
>
>     Ignore conditions guarding __builtin_unreachable in inliner metrics
>
> caused
>
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 16 arg1 == 1
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 16 arg2 == 2
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 16 arg3 == 3
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 16 arg4 == 4
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 16 arg5 == 5
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 16 arg6 == 6
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 16 arg7 == 30
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 18 arg1 == 1
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 18 arg2 == 2
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 18 arg3 == 3
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 18 arg4 == 4
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 18 arg5 == 5
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 18 arg6 == 6
> FAIL: gcc.dg/guality/pr36728-2.c   -O2  -DPREVENT_OPTIMIZATION  line 18 arg7 == 30
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 18 arg5 == 5
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 18 arg6 == 6
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 18 arg7 == 30
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg1 == 1
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg2 == 2
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg3 == 3
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg4 == 4
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg5 == 5
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg6 == 6
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 arg7 == 30
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg1 == 1
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg2 == 2
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg3 == 3
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg4 == 4
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg5 == 5
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg6 == 6
> FAIL: gcc.dg/guality/pr36728-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 18 arg7 == 30
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg1 == 1
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg2 == 2
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg3 == 3
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg4 == 4
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg5 == 5
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg6 == 6
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 arg7 == 30
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg1 == 1
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg2 == 2
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg3 == 3
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg4 == 4
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg5 == 5
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg6 == 6
> FAIL: gcc.dg/guality/pr36728-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 18 arg7 == 30
> FAIL: gcc.dg/guality/pr36728-4.c   -O2  -DPREVENT_OPTIMIZATION  line 14 y == 2
> FAIL: gcc.dg/guality/pr36728-4.c   -O2  -DPREVENT_OPTIMIZATION  line 16 y == 2
> FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -DPREVENT_OPTIMIZATION line 16 y == 2
> FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 14 y == 2
> FAIL: gcc.dg/guality/pr36728-4.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 16 y == 2
> FAIL: gcc.dg/guality/pr36728-4.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 14 y == 2
> FAIL: gcc.dg/guality/pr36728-4.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 16 y == 2
> FAIL: gcc.dg/guality/pr36728-4.c   -Os  -DPREVENT_OPTIMIZATION  line 14 y == 2
> FAIL: gcc.dg/guality/pr36728-4.c   -Os  -DPREVENT_OPTIMIZATION  line 16 y == 2

All of these are due to now the function is being cloned and the
arguments are being removed as unused (they are testing the arguments
are still there for debugging).
So I suspect the functions should be marked as noclone in addition to
what they are currently marked as noinline.

What do others think?

Thanks,
Andrew

>
> with GCC configured with
>
> ../../gcc/configure --prefix=/export/users/haochenj/src/gcc-bisect/master/master/r15-5336/usr --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld --with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet --without-isl --enable-libmpx x86_64-linux --disable-bootstrap
>
> To reproduce:
>
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr36728-2.c --target_board='unix{-m64}'"
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr36728-2.c --target_board='unix{-m64\ -march=cascadelake}'"
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr36728-4.c --target_board='unix{-m32}'"
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr36728-4.c --target_board='unix{-m32\ -march=cascadelake}'"
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr36728-4.c --target_board='unix{-m64}'"
> $ cd {build_dir}/gcc && make check RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr36728-4.c --target_board='unix{-m64\ -march=cascadelake}'"
>
> (Please do not reply to this email, for question about this report, contact me at haochen dot jiang at intel.com.)
> (If you met problems with cascadelake related, disabling AVX512F in command line might save that.)
> (However, please make sure that there is no potential problems with AVX512.)


More information about the Gcc-patches mailing list