dpatel      02/11/26 17:28:06

  Modified:    live/gcc3/gcc function.c rtl.h
               live/gcc3/gcc/pfe freeze-thaw.c
  Log:
  Partial fix for 3108047 PFE doesn't handle function bodies well
  
  Revision  Changes    Path
  1.50      +7 -0      src/live/gcc3/gcc/function.c
  
  Index: function.c
  ===================================================================
  RCS file: /cvs/Darwin/src/live/gcc3/gcc/function.c,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- function.c        2002/10/24 23:42:58     1.49
  +++ function.c        2002/11/27 01:28:04     1.50
  @@ -8125,10 +8125,17 @@
     int i, j;
     rtx *x_regno_reg_rtx;
     tree *regno_decl;
  +  rtx insn, next_insn;
     
     if (!es)
       return;
       
  +  for (insn = es->x_first_insn; insn;)
  +    {
  +      next_insn = pfe_real_ptr (NEXT_INSN (insn));
  +      PFE_FREEZE_THAW_RTX (insn);
  +      insn = next_insn;
  +    }
     PFE_FREEZE_THAW_RTX (es->x_first_insn);
     PFE_FREEZE_THAW_RTX (es->x_last_insn);
     PFE_FREEZE_THAW_WALK (es->sequence_rtl_expr);
  
  
  
  1.39      +6 -0      src/live/gcc3/gcc/rtl.h
  
  Index: rtl.h
  ===================================================================
  RCS file: /cvs/Darwin/src/live/gcc3/gcc/rtl.h,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- rtl.h     2002/10/24 23:43:08     1.38
  +++ rtl.h     2002/11/27 01:28:05     1.39
  @@ -783,6 +783,12 @@
      between ints and pointers if we use a different macro for the block number.)
      */
   
  +/* APPLE LOCAL PFE begin */
  +/* Note: Here 4th field is used here for NOTEs. And pfe/freeze-thaw.c needs to
  +   know that number. At one point it was 3rd field. If it is changed in future
  +   do not forget to make appropriate changes in pfe/freeze-thaw.c  */
  +/* APPLE LOCAL PFE end */
  +
   #define NOTE_SOURCE_FILE(INSN)       XCSTR (INSN, 4, NOTE)
   #define NOTE_BLOCK(INSN)     XCTREE (INSN, 4, NOTE)
   #define NOTE_EH_HANDLER(INSN)        XCINT (INSN, 4, NOTE)
  
  
  
  1.18      +3 -1      src/live/gcc3/gcc/pfe/freeze-thaw.c
  
  Index: freeze-thaw.c
  ===================================================================
  RCS file: /cvs/Darwin/src/live/gcc3/gcc/pfe/freeze-thaw.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- freeze-thaw.c     2002/09/20 01:34:58     1.17
  +++ freeze-thaw.c     2002/11/27 01:28:05     1.18
  @@ -954,7 +954,9 @@
        break;
   
         case '0':
  -     if (i == 3 && GET_CODE (x) == NOTE)
  +     /* '4' is based on NOTE_BLOCK define in rtl.h
  +        It may change in future. At one point it was '3'.  */
  +     if (i == 4 && GET_CODE (x) == NOTE)
          {
            switch (NOTE_LINE_NUMBER (x))
              {
  
  
  


Reply via email to