[tree-ssa] Improve usage of .GLOBAL_VAR [patch]

Daniel Berlin dberlin@dberlin.org
Thu Sep 4 17:43:00 GMT 2003


On Sep 4, 2003, at 11:29 AM, Diego Novillo wrote:

>
> Up until now, we used to model call-clobbering semantics using a unique
> artificial symbol called .GLOBAL_VAR.  The idea is that at every
> call-site, a new SSA name for .GLOBAL_VAR is created.  References to
> call-clobbered variables are turned into references to .GLOBAL_VAR.
>
> The scheme works well in terms of compile time performance, but 
> globbing
> all those symbols to .GLOBAL_VAR ties up the optimizers because
> references to any call-clobbered symbol turns into a reference to
> .GLOBAL_VAR.
>
> With this patch, we only resort to using .GLOBAL_VAR if the number of
> call sites and call-clobbered variables is large than certain
> threshold.  I chose a threshold based on a typical bootstrap cycle
> (including all target libraries).  That could certainly be changed 
> later
> on.
Does this mean we no longer query PTA about GLOBAL_VAR?
That would allow me to remove some hacks, and let PTA track this stuff 
accurately when it's not too expensive.



More information about the Gcc-patches mailing list