This is the mail archive of the
mailing list for the GCC project.
Re: Conflicting IRA patches
On 07/13/10 10:17, Bernd Schmidt wrote:
On 07/13/2010 06:09 PM, Jeff Law wrote:For the stuff I look at, they're often not eliminated by lower-subreg.
This is typically due to mixed usages.
On 07/13/10 09:49, Vladimir Makarov wrote:Another issue - maybe on x86 most of the DImode regs get eliminated by
I checked Bernd's patch on SPEC2000 on x86 (32-bit modes) last week.I wouldn't expect huge benefits, particularly since I doubt those
Code of few benchmarks changed (only vpr, gcc, crafty, parser, eon,
vortex, mesa, facerec, sixtrack, apsi). The codes size for
SPECINT2000 was improved by 0.03% with patch and code size for
SPECFP2000 was worsen by 0.006%. There is no visible
improvement/degradation on changed benchmarks. Compilation time
increase was quite insignificant (less than 0.2%). So as I wrote
Ken Zadeck two years ago who tried to solve the problem for the old
RA, the complexity of the problem solution does not justify
the solution benefits.
benchmarks are highly dependent good allocation of double-word values.
We have a real benchmarking problem in that we don't have benchmarks
that are highly dependent on double-word allocations.
lower-subreg? That's not the case on ARM, which doesn't run the
necessary splitters before reload. It's probably something we should
fix, but it's made nontrivial by the existence of NEON insns and
registers which can operate on 64 bit values directly.
I pondered what it might take to have lower-subreg handle those cases --
basically having lower-subreg work on regions and the ability to emit
compensation code at region boundaries. Long term that's probably a
good idea, but I wasn't ready to tackle it at the time.