RFA: patch to fix PR59787 (arm target)

Vladimir Makarov vmakarov@redhat.com
Tue Jan 14 19:09:00 GMT 2014


On 01/14/2014 01:41 PM, Yvan Roux wrote:
>> A quick grep of the arm backend shows 11 instances of reload_in_progress:
>>
>> arm.c:      && !(reload_in_progress || reload_completed)
>> arm.c:  if (! (reload_in_progress || reload_completed)
>> arm.c:  if (! (reload_in_progress || reload_completed)
>> arm.c:  if (! (reload_in_progress || reload_completed)
>> arm.c:                           reload_in_progress || reload_completed))
>> arm.md:  "TARGET_32BIT && (reload_in_progress || reload_completed)"
>> arm.md:  "TARGET_32BIT && (reload_in_progress || reload_completed)"
>> arm.md:  "TARGET_32BIT && (reload_in_progress || reload_completed)"
>> arm.md:  "TARGET_32BIT && (reload_in_progress || reload_completed)"
>> predicates.md:        "offsettable_address_p (reload_completed |
>> reload_in_progress,
>> predicates.md:      (and (match_test "reload_in_progress ||
>> reload_completed")
>>
>> and aarch64 has five more:
>>
>> aarch64.md:  "reload_completed || reload_in_progress"
>> aarch64.md:  "reload_completed || reload_in_progress"
>> aarch64.md:  "reload_completed || reload_in_progress"
>> aarch64.md:  "reload_completed || reload_in_progress"
>> aarch64.md:  "reload_completed || reload_in_progress"
>>
>> Yvan, could you do a quick audit on these to see if they are also likely
>> to need fixing?
> Yes, I'll check all of them.
I checked these places too.  I'd do analogous change for only arm.c in
thumb1_legitimate_address_p,  neon_vector_mem_operand, and
neon_struct_mem_operand.   I guess it is a a bad idea to do it in
predicates.md.  Changes arm.md and aarch64.md is worth to try but I
believe LRA will work without the changes.



More information about the Gcc-patches mailing list