This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]