[Bug rtl-optimization/71275] [7 regression] Performance drop after r235660 on x86-64 in 32-bit mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71275 --- Comment #6 from Alan Modra --- Author: amodra Date: Sat May 28 00:22:56 2016 New Revision: 236843 URL: https://gcc.gnu.org/viewcvs?rev=236843=gcc=rev Log: ira.c bb_loop_depth again Follow the same practice as other places in ira.c, where free_dominance_info is called along with loop_optimizer_finalize. Not doing so causes an ICE on gcc-5-branch, so avoid that possibility on trunk. PR rtl-optimization/71275 * ira.c (ira): Free dominance info. Modified: trunk/gcc/ChangeLog trunk/gcc/ira.c
[Bug rtl-optimization/71275] [7 regression] Performance drop after r235660 on x86-64 in 32-bit mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71275 Alan Modra changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Alan Modra --- Fixed
[Bug rtl-optimization/71275] [7 regression] Performance drop after r235660 on x86-64 in 32-bit mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71275 --- Comment #4 from Alan Modra --- Author: amodra Date: Thu May 26 17:38:36 2016 New Revision: 236789 URL: https://gcc.gnu.org/viewcvs?rev=236789=gcc=rev Log: ira.c bb_loop_depth PR rtl-optimization/71275 * ira.c (ira): Call loop_optimizer_init to set up bb_loop_depth for update_equiv_regs and combine_and_move_insns. Modified: trunk/gcc/ChangeLog trunk/gcc/ira.c
[Bug rtl-optimization/71275] [7 regression] Performance drop after r235660 on x86-64 in 32-bit mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71275 Alan Modra changed: What|Removed |Added CC|amodra at gcc dot gnu.org, | |amodra at gmail dot com| --- Comment #3 from Alan Modra --- It looks like the basic block loop info wasn't set up prior to my ira.c changes too, and the only reason this sort of mis-optimization was avoided is lack of (some) reg_dead notes inside loops.
[Bug rtl-optimization/71275] [7 regression] Performance drop after r235660 on x86-64 in 32-bit mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71275 Alan Modra changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2016-05-26 CC||amodra at gmail dot com Assignee|unassigned at gcc dot gnu.org |amodra at gmail dot com Ever confirmed|0 |1 --- Comment #2 from Alan Modra --- Confirmed. combine_and_move_insns is moving an insn into the innermost loop, which it shouldn't do due to if (bb_loop_depth (use_bb) > bb_loop_depth (def_bb)) continue; However, it appears that the loop info isn't set up and bb_loop_depth is therefore returning 0 for both basic blocks.
[Bug rtl-optimization/71275] [7 regression] Performance drop after r235660 on x86-64 in 32-bit mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71275 Richard Biener changed: What|Removed |Added Keywords||missed-optimization, ra CC||amodra at gcc dot gnu.org, ||vmakarov at gcc dot gnu.org Target Milestone|--- |7.0
[Bug rtl-optimization/71275] [7 regression] Performance drop after r235660 on x86-64 in 32-bit mode.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71275 --- Comment #1 from Yuri Rumyantsev --- Created attachment 38564 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38564=edit test-case to reproduce Must be compiled with -O2 -m32 -march=slm options.