This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: live insns deleted by delete_trivially_dead_insns()
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 7 May 2007 21:35:38 +0200
- Subject: Re: live insns deleted by delete_trivially_dead_insns()
- References: <20070507133916.GA3633@sygehus.dk>
> 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