This is the mail archive of the gcc@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: SPECfp2000 worsening


On Friday, September 20, 2002, at 02:29  AM, Roger Sayle wrote:

Hi Dan,
Is this due to increased register pressure (from making more values
live longer)?  (IE do you see more spills when you make it more
aggressive)?  If so, -fnew-ra might help.
I must admit that I haven't checked for potential spill effects in
the register allocator.  I was looking at aggressive jump bypassing
which is a control flow optimization (converting consecutive if-thens
into if-then-elses), which I believe shouldn't increase register
pressure or extend pseudo lifetimes beyond making basic blocks
larger.

You'd be surprised.
If it can have an effect on scheduling, and if you are testing on a platform where pre-regalloc scheduling is run, it might happen to *completely* screw everything up.
Of course, if this is x86, then ignore that, as pre-regalloc scheduling isn't run.
But even if it just makes BB's larger, it can make the local allocator handle more of the register allocation than it used to, and thus, could affect register allocation.

I don't have spec2000, but if you could send me the before and after assembly, i'd love to analyze it (I realize it's probably very large).


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