This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [m32c-elf] losing track of register lifetime in combine?
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: DJ Delorie <dj at redhat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 7 Nov 2006 21:22:21 +0100
- Subject: Re: [m32c-elf] losing track of register lifetime in combine?
- References: <200611071958.kA7JwEO0005633@greed.delorie.com>
> Combine (rightfully) knows that i becomes the constant 0xf and
> replaces the two constant shifts with it. However, it doesn't update
> the life information. So, we have a basic block (#3 below) which has
> register 28 live, but being assigned (i.e. it's really dead). GCC
> notices this later, and dies.
See PR rtl-optimization/29329 for a variant.
> Ideas?
The combiner already knows how to update liveness information in some cases
(lost REG_NOTEs) so I think that we probably need to extend this mechanism.
--
Eric Botcazou