This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH: Revert changes on 3.0 branch
- To: gcc-patches at gcc dot gnu dot org
- Subject: PATCH: Revert changes on 3.0 branch
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Mon, 26 Feb 2001 14:07:18 -0800
- Organization: CodeSourcery, LLC
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]);