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]

PATCH: Revert changes on 3.0 branch



I checked in the attached patch, which restores the tree to
bootstrapville on i686-pc-linux-gnu.

When the patch is fixed, it can go back on the branch -- it does fix a
real bug.

Thanks,

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

2001-02-26  Mark Mitchell  <mark@codesourcery.com>

	Revert the two previous changes.

Index: config/i386/i386-protos.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386-protos.h,v
retrieving revision 1.36.2.2
diff -c -p -r1.36.2.2 i386-protos.h
*** i386-protos.h	2001/02/25 16:38:35	1.36.2.2
--- i386-protos.h	2001/02/26 22:00:21
***************
*** 1,6 ****
  /* Definitions of target machine for GNU compiler for IA-32.
!    Copyright (C) 1988, 1992, 1994, 1995, 1996, 1996, 1997, 1998, 1999,
!    2000, 2001 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
  
--- 1,6 ----
  /* Definitions of target machine for GNU compiler for IA-32.
!    Copyright (C) 1988, 1992, 1994, 1995, 1996, 1996, 1997, 1998, 1999, 2000
!    Free Software Foundation, Inc.
  
  This file is part of GNU CC.
  
*************** extern void function_arg_advance PARAMS 
*** 140,147 ****
  extern void ix86_init_builtins PARAMS ((void));
  extern rtx ix86_expand_builtin PARAMS ((tree, rtx, rtx, enum machine_mode, int));
  #endif
- 
- extern void ix86_set_move_mem_attrs PARAMS ((rtx, rtx, rtx, rtx, rtx));
  
  #endif
  
--- 140,145 ----
Index: config/i386/i386.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.211.2.2
diff -c -p -r1.211.2.2 i386.c
*** i386.c	2001/02/25 16:38:35	1.211.2.2
--- i386.c	2001/02/26 22:00:25
*************** static int ix86_nsaved_regs PARAMS((void
*** 413,419 ****
  static void ix86_emit_save_regs PARAMS((void));
  static void ix86_emit_restore_regs_using_mov PARAMS ((rtx, int));
  static void ix86_emit_epilogue_esp_adjustment PARAMS((int));
- static void ix86_set_move_mem_attrs_1 PARAMS ((rtx, rtx, rtx, rtx, rtx));
  static void ix86_sched_reorder_pentium PARAMS((rtx *, rtx *));
  static void ix86_sched_reorder_ppro PARAMS((rtx *, rtx *));
  static HOST_WIDE_INT ix86_GOT_alias_set PARAMS ((void));
--- 413,418 ----
*************** ix86_variable_issue (dump, sched_verbose
*** 7325,7376 ****
  	  }
        }
        return --ix86_sched_data.ppro.issued_this_cycle;
-     }
- }
- 
- /* Walk through INSNS and look for MEM references whose address is DSTREG or
-    SRCREG and set the memory attribute to those of DSTREF and SRCREF, as
-    appropriate.  */
- 
- void
- ix86_set_move_mem_attrs (insns, dstref, srcref, dstreg, srcreg)
-      rtx insns;
-      rtx dstref, srcref, dstreg, srcreg;
- {
-   rtx insn;
- 
-   for (insn = insns; insn != 0 ; insn = NEXT_INSN (insn))
-     if (INSN_P (insn))
-       ix86_set_move_mem_attrs_1 (PATTERN (insn), dstref, srcref,
- 				 dstreg, srcreg);
- }
- 
- /* Subroutine of above to actually do the updating by recursively walking
-    the rtx.  */
- 
- static void
- ix86_set_move_mem_attrs_1 (x, dstref, srcref, dstreg, srcreg)
-      rtx x;
-      rtx dstref, srcref, dstreg, srcreg;
- {
-   enum rtx_code code = GET_CODE (x);
-   const char *format_ptr = GET_RTX_FORMAT (code);
-   int i, j;
- 
-   if (code == MEM && XEXP (x, 0) == dstreg)
-     MEM_COPY_ATTRIBUTES (x, dstref);
-   else if (code == MEM && XEXP (x, 0) == srcreg)
-     MEM_COPY_ATTRIBUTES (x, srcref);
- 
-   for (i = 0; i < GET_RTX_LENGTH (code); i++, format_ptr++)
-     {
-       if (*format_ptr == 'e')
- 	ix86_set_move_mem_attrs_1 (XEXP (x, i), dstref, srcref,
- 				   dstreg, srcreg);
-       else if (*format_ptr == 'E')
- 	for (j = XVECLEN (x, i) - 1; j >= 0; j--)
- 	  ix86_set_move_mem_attrs_1 (XVECEXP (x, i, j), dstref, srcref,
- 				     dstreg, srcreg);
      }
  }
  
--- 7324,7329 ----
Index: config/i386/i386.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v
retrieving revision 1.204.2.4
diff -c -p -r1.204.2.4 i386.md
*** i386.md	2001/02/25 23:59:44	1.204.2.4
--- i386.md	2001/02/26 22:00:29
***************
*** 1,5 ****
  ;; GCC machine description for IA-32.
! ;; Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
  ;; Free Software Foundation, Inc.
  ;; Mostly by William Schelter.
  ;;
--- 1,5 ----
  ;; GCC machine description for IA-32.
! ;; Copyright (C) 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000
  ;; Free Software Foundation, Inc.
  ;; Mostly by William Schelter.
  ;;
***************
*** 10703,10712 ****
    rtx srcreg, destreg, countreg;
    int align = 0;
    int count = -1;
-   rtx insns;
  
-   start_sequence ();
- 
    if (GET_CODE (operands[3]) == CONST_INT)
      align = INTVAL (operands[3]);
  
--- 10703,10709 ----
***************
*** 10769,10778 ****
           library version, since it is usually equally fast and result in
  	 shorter code.  */
        if (!TARGET_INLINE_ALL_STRINGOPS && align < 4)
! 	{
! 	  end_sequence ();
! 	  FAIL;
! 	}
  
        if (TARGET_SINGLE_STRINGOP)
  	emit_insn (gen_cld());
--- 10766,10772 ----
           library version, since it is usually equally fast and result in
  	 shorter code.  */
        if (!TARGET_INLINE_ALL_STRINGOPS && align < 4)
! 	FAIL;
  
        if (TARGET_SINGLE_STRINGOP)
  	emit_insn (gen_cld());
***************
*** 10875,10886 ****
  	  LABEL_NUSES (label) = 1;
  	}
      }
- 
-   insns = get_insns ();
-   end_sequence ();
- 
-   ix86_set_move_mem_attrs (insns, operands[0], operands[1], destreg, srcreg);
-   emit_insns (insns);
    DONE;
  }")
  
--- 10869,10874 ----
***************
*** 11107,11119 ****
           library version, since it is usually equally fast and result in
  	 shorter code.  */
        if (!TARGET_INLINE_ALL_STRINGOPS && align < 4)
! 	{
! 	  end_sequence ();
! 	  FAIL;
! 	}
  
        if (TARGET_SINGLE_STRINGOP)
! 	emit_insn (gen_cld ());
  
        countreg2 = gen_reg_rtx (SImode);
        countreg = copy_to_mode_reg (SImode, operands[1]);
--- 11095,11104 ----
           library version, since it is usually equally fast and result in
  	 shorter code.  */
        if (!TARGET_INLINE_ALL_STRINGOPS && align < 4)
! 	FAIL;
  
        if (TARGET_SINGLE_STRINGOP)
! 	emit_insn (gen_cld());
  
        countreg2 = gen_reg_rtx (SImode);
        countreg = copy_to_mode_reg (SImode, operands[1]);


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