[Bug rtl-optimization/71275] [7 regression] Performance drop after r235660 on x86-64 in 32-bit mode.

2016-05-27 Thread amodra at gcc dot gnu.org
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.

2016-05-26 Thread amodra at gmail dot com
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.

2016-05-26 Thread amodra at gcc dot gnu.org
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.

2016-05-25 Thread amodra at gmail dot com
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.

2016-05-25 Thread amodra at gmail dot com
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.

2016-05-25 Thread rguenth at gcc dot gnu.org
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.

2016-05-25 Thread ysrumyan at gmail dot com
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.