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]

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


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