[Bug tree-optimization/31090] Revision 121302 causes 30% performance regression
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Mar 9 23:01:00 GMT 2007
------- Comment #7 from rguenth at gcc dot gnu dot org 2007-03-09 23:00 -------
The obvoious difference is more precise alias information:
-bar: Maximum number of VOPS needed per statement: 80
+bar: Maximum number of VOPS needed per statement: 71
(and the resulting different partitioning).
What may cause performance problems are changes like
- # VUSE <MPT.120_683>
+ # VUSE <SMT.109_703, MPT.120_704>
D.1662_631 = (*D.1657_625)[D.1661_630];
- # MPT.120_690 = VDEF <MPT.120_683>
+ # SMT.109_711 = VDEF <SMT.109_703>
+ # MPT.120_712 = VDEF <MPT.120_704>
(*D.1634_608)[D.1644_621] = D.1666_635;
as our tree memory optimizers don't like statements with multiple virtual
operands (at least store_ccp and store_copyprop don't, maybe PRE doesn't care,
I'm also not sure about LIM). Other than that, more precise alias information
can cause more register pressure, too.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31090
More information about the Gcc-bugs
mailing list