Jeff Law wrote: > Anyway, we're processing the input reload for insn 73. We see that insn > 71's SET_DEST is the same as the input reload. The input reload's > reloadreg is a0. Replacing (reg:SI 48) with a0 in insn 71 produces an > insn which is recognized and which satisfies its constraints. However, > we have a0 used within an increment addressing mode and elsewhere in the > same insn, which is invalid RTL. Eventually we blow up in cselib due to > the invalid RTL.
I see, this analysis makes sense to me, and the fix looks straightforward. Thanks for looking into this! > PR middle-end/52306 > * reload1.c (emit_input_reload_insns): Do not create invalid RTL > when changing the SET_DEST of a prior insn to avoid an input > reload. This is OK. Thanks, Ulrich -- Dr. Ulrich Weigand GNU/Linux compilers and toolchain ulrich.weig...@de.ibm.com