[Bug tree-optimization/37916] [4.2/4.3/4.4 Regression] SSA names causing register pressure; unnecessarily many simultaneously "live" names.

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Mon Oct 27 16:22:00 GMT 2008



------- Comment #13 from rguenther at suse dot de  2008-10-27 16:21 -------
Subject: Re:  [4.2/4.3/4.4 Regression] SSA names
 causing register pressure; unnecessarily many simultaneously "live" names.

On Mon, 27 Oct 2008, hp at gcc dot gnu dot org wrote:

> ------- Comment #12 from hp at gcc dot gnu dot org  2008-10-27 16:09 -------
> I had an "old" native x86_64-unknown-linux-gnu tree around from
> [trunk revision 139963], and I see the corresponding effect there.
> 
> Of all four combinations of {,-fno-tree-reassoc} {,-fschedule-insns
> -fschedule-insns2}, together with -fno-ivopts -fno-reorder-blocks -fno-gcse, it
> was plain  -fno-tree-reassoc (no scheduling) that produces the smallest
> stack-frame and *at a glance* smaller, faster code.  (FWIW, I'm a bit surprised
> to see that -fschedule-insns -fschedule-insns2 is not the default for this
> arch.)

Because scheduling before register allocation tends to increase register
pressure.  Of course this is not a necessary thing - in fact scheduling
could reduce register pressure, just this would probably be called
re-materialization during register allocation.

tree reassociation is not aware of register pressure as a simple matter
of fact.  TER usually reduces the effect somewhat, but of course in
the end we want to get rid of TER ...

Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37916



More information about the Gcc-bugs mailing list