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: loop.c fix



  In message <199902060610.GAA21300@phal.cygnus.co.uk>you write:
  > For loops like where the current ppc failure is, we got a
  > NOTE_INSN_LOOP_CONT that is quite a few instructions - and givs - after
  > the last label.
Yes.  Similarly for the bug which got me looking at this to start with.  As
far as I can tell this is a relatively common case

  > So if we also had a label after the NOTE_INSN_LOOP_CONT, we'd miss the
  > always_executed for a number of givs.
And more importantly bivs -- which can make it impossible to determine the
number of iterations for the loop.  Which is precisely the problem I fixed.

  > Or maybe in the test if we pass the last label in the loop, use the
  > NOTE_INSN_LOOP_CONT instead of the NOTE_INSN_LOOP_END to delimit the insns
  > where we search for another label.
Clearing not_every_iteration at the last label before the LOOP_CONT note
or at the LOOP_CONT note itself has the same net effect as we'd get if we
moved the notes.


jeff


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