On Wed, 11 Feb 2026, Haochen Jiang wrote:

> On Linux/x86_64,
> 
> e55de74d50d236db0472431fe242f3244e41b884 is the first bad commit
> commit e55de74d50d236db0472431fe242f3244e41b884
> Author: Richard Biener <[email protected]>
> Date:   Tue Feb 10 09:46:08 2026 +0100
> 
>     tree-optimization/107690 - avoid creating un-analyzable loop exits
> 
> caused
> 
> FAIL: gcc.dg/guality/pr54693-2.c   -O2  -DPREVENT_OPTIMIZATION  line 21 x == 
> 10 - i
> FAIL: gcc.dg/guality/pr54693-2.c   -O2 -flto -fno-use-linker-plugin 
> -flto-partition=none  -DPREVENT_OPTIMIZATION line 21 x == 10 - i
> FAIL: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin 
> -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 x == 10 - i
> FAIL: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin 
> -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 y == 20 - 2 * i
> FAIL: gcc.dg/guality/pr54693-2.c   -O2 -flto -fuse-linker-plugin 
> -fno-fat-lto-objects  -DPREVENT_OPTIMIZATION line 21 z == 30 - 3 * i
> FAIL: gcc.dg/guality/pr54693-2.c   -O3 -fomit-frame-pointer -funroll-loops 
> -fpeel-loops -ftracer -finline-functions  -DPREVENT_OPTIMIZATION  line 21 x 
> == 10 - i
> FAIL: gcc.dg/guality/pr54693-2.c   -O3 -g  -DPREVENT_OPTIMIZATION  line 21 x 
> == 10 - i

We can now successfully do induction variable elimination on 'x' and
somehow the debug stmts that correctly indicate

  # DEBUG x => (int) ((unsigned int) x_9(D) - (unsigned int) i_29)

are lost somewhere between GIMPLE and the debugger.  We could do without
the complex debug expression but we don't have "debug PHIs", but
we could not express those with DWARF anyway.

-fno-ivopts fixes the "issue", but I'm unsure how to deal with the added
testsuite noise (I can try amending the existing XFAILs).

Richard.

> with GCC configured with
> 
> ../../gcc/configure 
> --prefix=/export/users3/haochenj/src/gcc-bisect/master/master/r16-7431/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/pr54693-2.c 
> --target_board='unix{-m32}'"
> $ cd {build_dir}/gcc && make check 
> RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr54693-2.c 
> --target_board='unix{-m32\ -march=cascadelake}'"
> $ cd {build_dir}/gcc && make check 
> RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr54693-2.c 
> --target_board='unix{-m64}'"
> $ cd {build_dir}/gcc && make check 
> RUNTESTFLAGS="guality.exp=gcc.dg/guality/pr54693-2.c 
> --target_board='unix{-m64\ -march=cascadelake}'"
> 
> (Please directly reply to this email for question about this report.)
> (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.)
> 

-- 
Richard Biener <[email protected]>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Reply via email to