------- 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