[Bug debug/90131] wrong debug info at -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90131 --- Comment #4 from Richard Biener --- Author: rguenth Date: Tue Apr 23 10:10:10 2019 New Revision: 270505 URL: https://gcc.gnu.org/viewcvs?rev=270505&root=gcc&view=rev Log: 2019-04-23 Richard Biener PR debug/90131 * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Add dest_single_pred_p argument. (remove_forwarder_block): Adjust. (remove_forwarder_block_with_phi): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-cfgcleanup.c
[Bug debug/90131] wrong debug info at -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90131 --- Comment #3 from Richard Biener --- Author: rguenth Date: Thu Apr 18 12:02:40 2019 New Revision: 270441 URL: https://gcc.gnu.org/viewcvs?rev=270441&root=gcc&view=rev Log: 2019-04-18 Richard Biener PR debug/90131 * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Split out from ... (remove_forwarder_block): ... here. (remove_forwarder_block_with_phi): Also move debug stmts here. * gcc.dg/guality/pr90131.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/guality/pr90131.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-cfgcleanup.c
[Bug debug/90131] wrong debug info at -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90131 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||9.0 Resolution|--- |FIXED --- Comment #2 from Richard Biener --- Fixed for GCC 9.
[Bug debug/90131] wrong debug info at -O3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90131 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2019-04-18 Version|unknown |9.0 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Richard Biener --- This is mergephi at work: @@ -101,14 +45,10 @@ if (i_5 != 9) goto ; [90.00%] else -goto ; [10.00%] - - [local count: 107374183]: - # DEBUG i => NULL - # DEBUG i => 0 +goto ; [10.00%] [local count: 160259975]: - # d_21 = PHI <0(5), 1(8)> + # d_21 = PHI <0(4), 1(8)> # DEBUG d => NULL # DEBUG d => d_21 if (d_21 == 0) where remove_forwarder_block_with_phi doesn't bother to move debug stmts as the fixed CFG cleanup copy tried and now does conservatively.