> 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. -- Eric Botcazou