johannes    02/09/25 12:30:46

  Modified:    gcc      cfgcleanup.c
  Log:
  Roll in an FSF-approved change.
  
  Revision  Changes    Path
  1.8       +9 -0      gcc3/gcc/cfgcleanup.c
  
  Index: cfgcleanup.c
  ===================================================================
  RCS file: /cvs/Darwin/gcc3/gcc/cfgcleanup.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- cfgcleanup.c      2002/08/26 05:39:29     1.7
  +++ cfgcleanup.c      2002/09/25 19:30:45     1.8
  @@ -515,6 +515,15 @@
   
              if (GET_CODE (insn) == NOTE)
                break;
  +
  +           /* Do not clean up branches to just past the end of a loop
  +              at this time; it can mess up the loop optimizer's
  +              recognition of some patterns. */
  +
  +           insn = PREV_INSN (target->head);
  +           if (insn && GET_CODE (insn) == NOTE
  +                 && NOTE_LINE_NUMBER (insn) == NOTE_INSN_LOOP_END)
  +             break;
            }
   
          counter++;
  
  
  


Reply via email to