This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
patch to fix PR55151
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 05 Nov 2012 11:43:59 -0500
- Subject: patch to fix PR55151
The following patch fixes PR55151. The patch affects a sensitive
part of LRA code. So it took some time to find a PR solution. For the
test there were to many reloads into hard registers for an insn and LRA
failed to assign hard registers to all reload pseudos. There is another
more costly alternative for the insn which accepts memory but we need to
put pseudo value into memory for that. LRA did not do it. The patch
adds this possibility. The patch also discourage putting pseudo values
into memory by increasing reject. Without this code, several GCC tests
checking assembler code quality failed. The patch changes SPEC2000 code
for a few tests but overall score is the same.
The patch was successfully bootstrapped and tested on x86/x86-64.
Committed as rev. 193170.
2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* lra-constraints.c (process_alt_operands): Permit putting reg
value into memory. Increase reject for this case.
2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55151
* gcc.dg/pr55151.c: New test.
Attachment:
pr55151.patch
Description: Text document