[Bug tree-optimization/110628] [14 regression] gcc.dg/tree-ssa/update-threading.c fails after r14-2383-g768f00e3e84123
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
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
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
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
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
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
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
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
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
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
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
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