[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