[PATCH v2] Fix LRA to handle multi-word eliminable registers

2018-06-23 Thread Dimitar Dimitrov
For some targets, Pmode != UNITS_PER_WORD. Take this into account when marking hard registers as being used. I tested C and C++ testsuits for x86_64 with and without this patch. There was no regression, i.e. gcc.sum and g++.sum matched exactly. Changes since patch series v1: - Cleanup to use ad

Re: [PATCH v2] Fix LRA to handle multi-word eliminable registers

2018-06-26 Thread Vladimir Makarov
On 06/23/2018 08:38 AM, Dimitar Dimitrov wrote: For some targets, Pmode != UNITS_PER_WORD. Take this into account when marking hard registers as being used. I tested C and C++ testsuits for x86_64 with and without this patch. There was no regression, i.e. gcc.sum and g++.sum matched exactly.

Re: [PATCH v2] Fix LRA to handle multi-word eliminable registers

2018-06-27 Thread Jeff Law
On 06/23/2018 06:38 AM, Dimitar Dimitrov wrote: > 2018-06-23 Dimitar Dimitrov > > * lra-eliminations.c (update_reg_eliminate): Mark all spanning hard > registers for Pmode.. > * lra-lives.c (check_pseudos_live_through_calls): Mark all spanning > hard registers for the cl