reload autoinc fix

Richard Earnshaw
Wed Jan 8 10:36:00 GMT 2014

On 07/01/14 21:06, Andrew Pinski wrote:
> On Tue, Jan 7, 2014 at 12:55 PM, Jeff Law <> wrote:
>> On 01/07/14 09:16, Bernd Schmidt wrote:
>>> This is PR56791. The address inside of an autoinc is reloaded, and the
>>> autoinc is reloaded, but the reload insns are emitted in the wrong order.
>>> As far as I can tell, this is because find_reloads_address_1 has two
>>> methods of pushing a reload for an autoinc, one of them using the
>>> previously identified type, and the other (better one) using
>>> RELOAD_OTHER. If we previously reloaded an inner part of the address,
>>> the use of RELOAD_OTHER is mismatched and leads to the wrong order of
>>> insns.
>>> This patch just remembers if we've pushed a reload, and forces the
>>> optimization to be skipped in that case. Bootstrapped and tested on
>>> x86_64-linux (with lra_p disabled but still somewhat pointlessly); John
>>> Anglin said in the PR that it tests ok on PA. Will commit in a few days
>>> if no objections.
>> No objections to the substance of the patch, though I think the comment
>> could be clearer.
> Though my question is what target does this matter since ARM has moved
> away from reload and other targets should do the same?

There's still the chance we will have to move back for this release when
building Thumb1.  Only if we can iron out enough of the bugs/size
regressions will we stick with LRA for that permutation.


More information about the Gcc-patches mailing list