This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch for compile/991229-3.c -O3 -fomit-frame-pointer -funroll-loopsSH failure
- To: law at cygnus dot com
- Subject: Re: patch for compile/991229-3.c -O3 -fomit-frame-pointer -funroll-loopsSH failure
- From: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Date: Thu, 17 Feb 2000 19:05:27 +0000 (GMT)
- CC: gcc-patches at gcc dot gnu dot org
> ?!? Shouldn't the set of (reg:SI 62) have been deleted by the call to
> delete_trivially_dead_insns that occurs after the first loop optimization
> pass? The whole point of delete_trivially_dead_insns is to remove assignments
> to pseudos which are never used.
No, the last use of (reg:SI 62) has been removed in the *second* loop
optimization pass. There was no call to delete_trivially_dead_insns
between the removal of the last use and the optimization of the outer
loop. More importantly, there was no new call to reg_scan.
delete_trivially_dead_insns only deletes the set if it is dead, while
the reg_scan information can be out of date without *all* uses being
removed.