Eric Botcazou wrote:
It isn't until the loop2_done dump that the problem shows up.
delete_trivially_dead_insns() is called. It calls dead_libcall_p() on insn
62 and seeing both the REQ_EQUAL and the REG_RETVAL note and successfully
replacing reg 92 with const_int 0, determines that the while libcall
sequence 63-152-61-62 is dead and can be deleted, without ever checking
insns 63, 152 or 61 for liveness.
Because it's the semantics of libcall sequences. My take is that the lower
subreg pass breaks it in this case.
Can you also check -fno-forward-propagate?
Paolo