This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [testsuite] Loop failure (take 2)



  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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]