This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [testsuite] Loop failure (take 2)
- To: Bernd Schmidt <bernds at cygnus dot co dot uk>
- Subject: Re: [testsuite] Loop failure (take 2)
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 03 Aug 2000 09:36:19 -0600
- cc: Jakub Jelinek <jakub at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <Pine.LNX.4.21.0008011615260.32005-100000@balti.cygnus.co.uk>you w
rite:
> I have a tentative patch for this; however I'd appreciate if someone who
> knows the unroller could have a look.
>
> We are special-casing the loop start label in copy_loop_body; among
> others there's this comment:
> /* If this is the loop start label, then we don't need to emit a
> copy of this label since no one will use it. */
> However, the testcase generated a mid-loop jump to the start label.
> Unrolling copied the jump but never emitted the new label and cse
> later removed that jump.
My reading of copy_loop_body leads me to believe that except for the final
copy we should have remapped any references to the start label to
FINAL_LABEL. The final copy would have done no mapping.
So as far as I can tell we should be able to handle unrolling in this
case. Presumably there's a bug in the code which is preventing the
mapping from working correctly, or from emitting the new FINAL_LABEL.
jeff