On 14/01/14 16:48, Vladimir Makarov wrote: > The following patch fixes > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59787 > > The problem of LRA looping was in that address with soft frame pointer > was rejected as valid constraint in iwmmxt_amd_movdi insn. > > Ok to commit? > > 2014-01-14 Vladimir Makarov <vmaka...@redhat.com> > > PR target/59787 > * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
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? R.