This is the mail archive of the
mailing list for the GCC project.
- To: DJ Delorie <dj at redhat dot com>
- Subject: Re: recompute_reg_usage
- From: Richard Henderson <rth at redhat dot com>
- Date: Thu, 25 Oct 2001 17:33:50 -0700
- Cc: gcc at gcc dot gnu dot org
- References: <200110260005.f9Q05g508055@greed.delorie.com>
On Thu, Oct 25, 2001 at 08:05:42PM -0400, DJ Delorie wrote:
> It seems to me that if we just finished a bunch of optimization passes
> (combine, ifcvt, regmove), we just did a lot of non-local
> modifications, and life info is going to change (as the toplev.c
> comment says). After all, we just rearranged all the insns.
We did not, however, rearrange the insns arbitrarily.
You're oversimplifying too -- there is not one update for all
of the passes you mention, there are many, some of which do
in fact do global updates.
> In my case (sh-elf), a SET gets "moved" from one block to another by
> combine, and gcc aborts because the new life information doesn't match
> the old.
Then combine should have set need_refresh and rerun global life
analysis inside combine_instructions.