This is the mail archive of the gcc-patches@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: [RFB] IRA and regclass both ignore '!' attribute


Andrew Pinski wrote:
I noticed while looking into a register allocation issue in 4.1.1,
that regclass was ignoring '!' attribute so it would sometimes give
the wrong result so we get performance issue (selecting GPR instead of
FPR).  So I saw that IRA also ignore it too which seems wrong and
seems like the code was copied from regclass.  preprocess_constraints
and find_reloads both take '!' into account.

Can someone benchmark this on x86 and PPC? I can only really benchmark
with a 4.3 or 4.1.1 based compiler with a subset of SPEC.  The 4.1.1
based compiler gets a nice but small 0.6% performance increase and a
small code decrease.

I've checked your patch for IRA. It has no absolutely effect on SPEC2000 for x86 and x86_64. The compiler generates absolutely the same code with and without the patch.

The picture is different for ppc64 (G5). Only wupwise and swim have the same code for FP and gzip, mcf, crafty, parser, and gap have the same code for INT. The code with the patch is a bit smaller (0.06% in average for SPECInt and 0.01% for SPECFP), a bit worse (0.5%) for SPECInt2000 and a bit better (0.5%) for SPECFP2000. Bit the scores are in measurement error for this ppc64 machine.


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