[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2024-03-07 Thread law at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

Jeffrey A. Law  changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org
   Priority|P3  |P2

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-08-24 Thread hp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #10 from Hans-Peter Nilsson  ---
(In reply to Hans-Peter Nilsson from comment #9)
> (In reply to Jan Hubicka from comment #8)
> > patch posted
> > https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628231.html
> 
> Yay!  I stand ready to revert my ugly cover-up.
> I'll even give the posted patch a spin for cris-elf!

JFTR, as mentioned in a reply to the patch, unfortunately it regresses four
tests:
gcc.sum gcc.c-torture/execute/pr95731.c
gcc.sum gcc.dg/pr46309-2.c
gcc.sum gcc.dg/torture/pr63464.c
gcc.sum gcc.dg/tree-ssa/pr95731.c

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-08-24 Thread hp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #9 from Hans-Peter Nilsson  ---
(In reply to Jan Hubicka from comment #8)
> patch posted
> https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628231.html

Yay!  I stand ready to revert my ugly cover-up.
I'll even give the posted patch a spin for cris-elf!

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-08-24 Thread hubicka at ucw dot cz via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #8 from Jan Hubicka  ---
patch posted
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628231.html

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-08-23 Thread hp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #7 from Hans-Peter Nilsson  ---
(In reply to Hans-Peter Nilsson from comment #5)
> Not seeing any action for this regression for three weeks, for tracking
> purposes I'm considering xfailing this test-case for cris-* after another
> week.

Now xfailed for cris-*-* by r14-3418-g0c2633dd09f281; unfortunately without a
working changelog annotation so it didn't automatically show up here.

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-08-17 Thread hubicka at ucw dot cz via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #6 from Jan Hubicka  ---
The mismatch happens on:
void foo (unsigned int x)
{
  if (x != 0x800 && x != 0x810)
abort ();
}

It is bug in reassoc turning:

void foo (unsigned int x)
{  
;;   basic block 2, loop depth 0, count 1073741824 (estimated locally, freq
1.), maybe hot
;;prev block 0, next block 3, flags: (NEW, REACHABLE, VISITED)
;;pred:   ENTRY [always]  count:1073741824 (estimated locally, freq
1.) (FALLTHRU,EXECUTABLE)
  if (x_1(D) != 2048)
goto ; [66.00%]
  else
goto ; [34.00%]
;;succ:   3 [66.0% (guessed)]  count:708669600 (estimated locally, freq
0.6600) (TRUE_VALUE,EXECUTABLE)
;;5 [34.0% (guessed)]  count:365072224 (estimated locally, freq
0.3400) (FALSE_VALUE,EXECUTABLE)

;;   basic block 3, loop depth 0, count 708669600 (estimated locally, freq
0.6600), maybe hot
;;prev block 2, next block 4, flags: (NEW, REACHABLE, VISITED)
;;pred:   2 [66.0% (guessed)]  count:708669600 (estimated locally, freq
0.6600) (TRUE_VALUE,EXECUTABLE)
  if (x_1(D) != 2064)
goto ; [0.00%]
  else
goto ; [100.00%] 
;;succ:   4 [never]  count:0 (precise, freq 0.)
(TRUE_VALUE,EXECUTABLE)
;;5 [always]  count:708669600 (estimated locally, freq 0.6600)
(FALSE_VALUE,EXECUTABLE)

;;   basic block 4, loop depth 0, count 0 (precise, freq 0.), probably
never executed
;;prev block 3, next block 5, flags: (NEW, REACHABLE, VISITED)
;;pred:   3 [never]  count:0 (precise, freq 0.)
(TRUE_VALUE,EXECUTABLE)
  abort ();
;;succ:   



to:


void foo (unsigned int x)
{
  unsigned int _4;
  _Bool _5;

;;   basic block 2, loop depth 0, count 1073741824 (estimated locally, freq
1.), maybe hot
;;prev block 0, next block 3, flags: (NEW, REACHABLE, VISITED)
;;pred:   ENTRY [always]  count:1073741824 (estimated locally, freq
1.) (FALLTHRU,EXECUTABLE)
  _4 = x_1(D) & 4294967279;
  _5 = _4 != 2048;
  if (_5 != 0)
goto ; [66.00%]
  else
goto ; [34.00%]
;;succ:   3 [66.0% (guessed)]  count:708669600 (estimated locally, freq
0.6600) (TRUE_VALUE,EXECUTABLE)
;;4 [34.0% (guessed)]  count:365072224 (estimated locally, freq
0.3400) (FALSE_VALUE,EXECUTABLE)

;;   basic block 3, loop depth 0, count 0 (precise, freq 0.), probably
never executed
;;   Invalid sum of incoming counts 708669600 (estimated locally, freq 0.6600),
should be 0 (precise, freq 0.)
;;prev block 2, next block 4, flags: (NEW, REACHABLE, VISITED)
;;pred:   2 [66.0% (guessed)]  count:708669600 (estimated locally, freq
0.6600) (TRUE_VALUE,EXECUTABLE)
  abort ();
;;succ:

;;   basic block 4, loop depth 0, count 1073741824 (estimated locally, freq
1.), maybe hot
;;   Invalid sum of incoming counts 365072224 (estimated locally, freq 0.3400),
should be 1073741824 (estimated locally, freq 1.)
;;prev block 3, next block 1, flags: (NEW, REACHABLE, VISITED)
;;pred:   2 [34.0% (guessed)]  count:365072224 (estimated locally, freq
0.3400) (FALSE_VALUE,EXECUTABLE)
  return;

So it combines two conditionals together but does not update the
outgoing probabilitis of the conditional.
On x86-64 we have already in cfg dump:

  _1 = x != 2048;
  _2 = x != 2064;
  _3 = _1 & _2;
  if (_3 != 0)
goto ; [INV]
  else

I wonder why optimization diverges here?

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-08-15 Thread hp at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

Hans-Peter Nilsson  changed:

   What|Removed |Added

 CC||hp at gcc dot gnu.org

--- Comment #5 from Hans-Peter Nilsson  ---
A quick survey of recent test-results show this regression happens for many
targets.

Besides the reported:
powerpc64le-unknown-linux-gnu
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/793193.html

Also fails for:
pru-unknown-elf
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/792102.html

s390x-ibm-linux-gnu
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/792106.html

m68k-unknown-linux-gnu
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/793249.html

cris-axis-elf
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/793462.html

But, curiously not for:
x86_64-pc-linux-gnu
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/792111.html

i686-pc-linux-gnu
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/792104.html

aarch64-unknown-linux-gnu
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/793190.html

arm-unknown-linux-gnueabihf
https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/793191.html

Not seeing any action for this regression for three weeks, for tracking
purposes I'm considering xfailing this test-case for cris-* after another week.

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-07-17 Thread seurer at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #4 from seurer at gcc dot gnu.org ---
Created attachment 55563
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55563&action=edit
All the intermediate files in a .tar.gz

Here are all the files zipped up.

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-07-13 Thread hubicka at ucw dot cz via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #3 from Jan Hubicka  ---
> -fdump-tree-all-blocks-details produced more than 100 dump files.  Which 
> one(s)
> do you want?
Can you just zip them an attach all?
Thank you!
Honza

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-07-11 Thread seurer at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #2 from seurer at gcc dot gnu.org ---
-fdump-tree-all-blocks-details produced more than 100 dump files.  Which one(s)
do you want?

seurer@ltcden2-lp1:~/gcc/git/build/gcc-test$
/home/seurer/gcc/git/build/gcc-test/gcc/xgcc
-B/home/seurer/gcc/git/build/gcc-test/gcc/
/home/seurer/gcc/git/gcc-test/gcc/testsuite/gcc.dg/tree-ssa/update-threading.c 
  -fdiagnostics-plain-output   -O2 -S -o update-threading.s
-fdump-tree-all-blocks-details
seurer@ltcden2-lp1:~/gcc/git/build/gcc-test$ ls update-threading.*
update-threading.c.005t.original update-threading.c.111t.alias 
update-threading.c.173t.vect
update-threading.c.006t.gimple   update-threading.c.112t.retslot   
update-threading.c.174t.dce6
update-threading.c.009t.omplower update-threading.c.113t.fre3  
update-threading.c.175t.pcom
update-threading.c.010t.lowerupdate-threading.c.114t.mergephi2 
update-threading.c.176t.cunroll
update-threading.c.013t.eh  
update-threading.c.115t.threadfull1update-threading.c.179t.slp1
update-threading.c.015t.cfg  update-threading.c.116t.vrp1  
update-threading.c.181t.ivopts
update-threading.c.017t.ompexp   update-threading.c.117t.dse2  
update-threading.c.182t.lim4
update-threading.c.020t.fixup_cfg1   update-threading.c.118t.dce2  
update-threading.c.183t.loopdone
update-threading.c.021t.ssa  update-threading.c.119t.stdarg
update-threading.c.184t.no_loop
update-threading.c.022t.walloca1 update-threading.c.120t.cdce  
update-threading.c.185t.slp2
update-threading.c.025t.waccess1 update-threading.c.121t.cselim
update-threading.c.187t.veclower21
update-threading.c.027t.nothrow  update-threading.c.122t.copyprop1 
update-threading.c.188t.switchlower1
update-threading.c.029t.fixup_cfg2   update-threading.c.123t.ifcombine 
update-threading.c.189t.sincos
update-threading.c.030t.local-fnsummary1 update-threading.c.124t.mergephi3 
update-threading.c.191t.reassoc2
update-threading.c.031t.einline  update-threading.c.125t.phiopt2   
update-threading.c.192t.slsr
update-threading.c.032t.early_optimizations  update-threading.c.126t.tailr2
update-threading.c.195t.fre5
update-threading.c.033t.early_objsz  update-threading.c.127t.ch2   
update-threading.c.196t.thread2
update-threading.c.034t.ccp1 update-threading.c.128t.cplxlower1
update-threading.c.197t.dom3
update-threading.c.035t.forwprop1update-threading.c.129t.sra   
update-threading.c.198t.strlen1
update-threading.c.036t.ethread  update-threading.c.130t.thread1   
update-threading.c.199t.threadfull2
update-threading.c.037t.esra update-threading.c.131t.dom2  
update-threading.c.200t.vrp2
update-threading.c.038t.ealias   update-threading.c.132t.copyprop2 
update-threading.c.201t.ccp4
update-threading.c.039t.phiprop1
update-threading.c.133t.isolate-paths  update-threading.c.202t.wrestrict
update-threading.c.040t.fre1 update-threading.c.134t.reassoc1  
update-threading.c.203t.dse5
update-threading.c.041t.evrp update-threading.c.135t.dce3  
update-threading.c.204t.dce7
update-threading.c.042t.mergephi1update-threading.c.136t.forwprop3 
update-threading.c.205t.forwprop4
update-threading.c.043t.dse1 update-threading.c.137t.phiopt3   
update-threading.c.206t.sink2
update-threading.c.044t.cddce1   update-threading.c.138t.ccp3  
update-threading.c.207t.phiopt4
update-threading.c.045t.phiopt1  update-threading.c.139t.powcabs   
update-threading.c.208t.fab1
update-threading.c.046t.tailr1   update-threading.c.140t.bswap 
update-threading.c.209t.widening_mul
update-threading.c.047t.iftoswitch   update-threading.c.141t.laddress  
update-threading.c.210t.store-merging
update-threading.c.048t.switchconv   update-threading.c.142t.lim2  
update-threading.c.211t.cddce3
update-threading.c.050t.profile_estimate update-threading.c.143t.walloca2  
update-threading.c.212t.tailc
update-threading.c.051t.local-pure-const1update-threading.c.144t.pre   
update-threading.c.213t.crited1
update-threading.c.052t.modref1  update-threading.c.145t.sink1 
update-threading.c.215t.local-pure-const2
update-threading.c.053t.fnsplit  update-threading.c.149t.dse3  
update-threading.c.216t.modref2
update-threading.c.054t.release_ssa  update-threading.c.150t.dce4  
update-threading.c.217t.uncprop1
update-threading.c.055t.local-fnsummary2 update-threading.c.151t.fix_loops 
update-threading.c.250t.nrv
update-threading.c.095t.fixup_cfg3  

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-07-11 Thread hubicka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

--- Comment #1 from Jan Hubicka  ---
The testcase was, for many years, not checking what it was intended to since
Invalid sums are now output only with ...-details-blocks dumps and not by
default.

It passes for me.  Can you please attach -fdump-tree-all-blocks-details dump of
the failing run?

[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123

2023-07-11 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110628

Richard Biener  changed:

   What|Removed |Added

   Keywords||testsuite-fail
   Target Milestone|--- |14.0
  Component|other   |tree-optimization