This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Compile time increases on Diego's SPEC box
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Steven Bosscher <stevenb at suse dot de>
- Cc: Kenneth Zadeck <zadeck at naturalbridge dot com>, gcc at gcc dot gnu dot org, dnovillo at redhat dot com
- Date: Sun, 17 Jul 2005 14:38:06 -0400
- Subject: Re: Compile time increases on Diego's SPEC box
- References: <200507171805.42425.stevenb@suse.de>
> 200.sixtrack 74 258 348.65%
I can get this down to something slightly more sane (cut down
global-alloc time by 80%) by upping the global var threshold.
The problem is that the global var threshold causes us to make all the
promoted statics touch the global var.
# .GLOBAL_VAR_217097 = V_MAY_DEF <.GLOBAL_VAR_217096>;
m = m.155_48422;
# .GLOBAL_VAR_217098 = V_MAY_DEF <.GLOBAL_VAR_217097>;
ll = ll.156_48424;
# .GLOBAL_VAR_217099 = V_MAY_DEF <.GLOBAL_VAR_217098>;
mblozz = mblozz.157_48426;
So eustores doesn't eliminate any of these dead static stores, (since we
don't know they are dead) and there are a *lot* of them.
Over 60000.
I can't fix this easily without something to tell me these global stores
really don't affect each other, or upping the global var threshold.
Kenny, you really need to make it multiply out the number of reads and
writes it's going to insert, and see if it is within throwing distance
PARAM_GLOBAL_VAR_THRESHOLD. If so, eustores won't save you, and you
shouldn't do any promotion, as nothing is going to optimize those
things.