This is the mail archive of the
mailing list for the GCC project.
Re: [RFB] IRA and regclass both ignore '!' attribute
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: Andrew Pinski <Andrew_Pinski at playstation dot sony dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 03 Nov 2008 12:11:09 -0500
- Subject: Re: [RFB] IRA and regclass both ignore '!' attribute
- References: <email@example.com>
Andrew Pinski wrote:
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.
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.
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.