aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <mkuvyrkov@ispras.ru>2006-03-30 15:41:00 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2006-03-30 15:41:00 +0000
commitc7ec5472672f0e68687081caa28ffb196e9c37a1 (patch)
tree3291951d5fbbe5479776ca150e5c6b32db277c5f /gcc
parent682b6a9e8f39f742d2db10c7d131a21405ca34fa (diff)
downloadgcc-c7ec5472672f0e68687081caa28ffb196e9c37a1.zip
gcc-c7ec5472672f0e68687081caa28ffb196e9c37a1.tar.gz
gcc-c7ec5472672f0e68687081caa28ffb196e9c37a1.tar.bz2
re PR target/26734 (GCC cannot bootstrap on IA64 HP-UX)
2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru> PR target/26734 * rtl.def (DEPS_LIST): Change type of the second operand to 'int'. * target.h (struct gcc_target.speculate_insn): Change type of the second parameter to 'int'. * lists.c (alloc_DEPS_LIST): Change signature. Update reference to the second operand of the DEPS_LIST. (copy_DEPS_LIST_list): Update reference to the second operand of the DEPS_LIST. * rtl.h (alloc_DEPS_LIST): Update signature. * sched-int.h (ds_t): Change typedef to 'int'. (DEP_STATUS, BITS_PER_DEP_STATUS): Update. From-SVN: r112538
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/lists.c8
-rw-r--r--gcc/rtl.def7
-rw-r--r--gcc/rtl.h6
-rw-r--r--gcc/sched-int.h10
-rw-r--r--gcc/target.h5
6 files changed, 32 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 902cf75..e302bb7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,19 @@
2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+ PR target/26734
+ * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
+ * target.h (struct gcc_target.speculate_insn): Change type of the
+ second parameter to 'int'.
+ * lists.c (alloc_DEPS_LIST): Change signature. Update reference to
+ the second operand of the DEPS_LIST.
+ (copy_DEPS_LIST_list): Update reference to the second operand of the
+ DEPS_LIST.
+ * rtl.h (alloc_DEPS_LIST): Update signature.
+ * sched-int.h (ds_t): Change typedef to 'int'.
+ (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
+
+2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
* haifa-sched.c (try_ready): Change condition to restore
non-speculative pattern of the instruction.
(process_insn_depend_be_in_spec): Code to keep probability of the
diff --git a/gcc/lists.c b/gcc/lists.c
index 907ccf5..23529a3 100644
--- a/gcc/lists.c
+++ b/gcc/lists.c
@@ -1,6 +1,6 @@
/* List management for the GCC expander.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2003, 2004 Free Software Foundation, Inc.
+ 1999, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GCC.
@@ -159,7 +159,7 @@ alloc_EXPR_LIST (int kind, rtx val, rtx next)
node available, we'll use it, otherwise a call to gen_rtx_DEPS_LIST
is made. */
rtx
-alloc_DEPS_LIST (rtx val, rtx next, HOST_WIDE_INT ds)
+alloc_DEPS_LIST (rtx val, rtx next, int ds)
{
rtx r;
@@ -169,7 +169,7 @@ alloc_DEPS_LIST (rtx val, rtx next, HOST_WIDE_INT ds)
unused_deps_list = XEXP (r, 1);
XEXP (r, 0) = val;
XEXP (r, 1) = next;
- XWINT (r, 2) = ds;
+ XINT (r, 2) = ds;
PUT_REG_NOTE_KIND (r, VOIDmode);
gcc_assert (GET_CODE (r) == DEPS_LIST);
@@ -257,7 +257,7 @@ copy_DEPS_LIST_list (rtx list)
while (list)
{
- *resp = alloc_DEPS_LIST (XEXP (list, 0), 0, XWINT (list, 2));
+ *resp = alloc_DEPS_LIST (XEXP (list, 0), 0, XINT (list, 2));
PUT_REG_NOTE_KIND (*resp, REG_NOTE_KIND (list));
resp = &XEXP (*resp, 1);
list = XEXP (list, 1);
diff --git a/gcc/rtl.def b/gcc/rtl.def
index 078f4af..4c5a632 100644
--- a/gcc/rtl.def
+++ b/gcc/rtl.def
@@ -2,7 +2,7 @@
Register Transfer Expressions (rtx's) that make up the
Register Transfer Language (rtl) used in the Back End of the GNU compiler.
Copyright (C) 1987, 1988, 1992, 1994, 1995, 1997, 1998, 1999, 2000, 2004,
- 2005
+ 2005, 2006
Free Software Foundation, Inc.
This file is part of GCC.
@@ -95,9 +95,8 @@ DEF_RTL_EXPR(INSN_LIST, "insn_list", "ue", RTX_EXTRA)
/* a linked list of dependencies.
The insns are represented in print by their uids.
- Operand 2 is a degree of speculativeness of the dependence.
- Operand 3 is a degree of weakness of the dependence. */
-DEF_RTL_EXPR(DEPS_LIST, "deps_list", "uew", RTX_EXTRA)
+ Operand 2 is the status of a dependence (see sched-int.h for more). */
+DEF_RTL_EXPR(DEPS_LIST, "deps_list", "uei", RTX_EXTRA)
/* SEQUENCE appears in the result of a `gen_...' function
for a DEFINE_EXPAND that wants to make several insns.
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 989bea8..a442fb2 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1,6 +1,6 @@
/* Register Transfer Language (RTL) definitions for GCC
- Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1757,7 +1757,7 @@ void free_INSN_LIST_node (rtx);
rtx alloc_INSN_LIST (rtx, rtx);
rtx alloc_EXPR_LIST (int, rtx, rtx);
void free_DEPS_LIST_list (rtx *);
-rtx alloc_DEPS_LIST (rtx, rtx, HOST_WIDE_INT);
+rtx alloc_DEPS_LIST (rtx, rtx, int);
void remove_free_DEPS_LIST_elem (rtx, rtx *);
void remove_free_INSN_LIST_elem (rtx, rtx *);
rtx remove_list_elem (rtx, rtx *);
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index 175bd69..cc9812a 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -1,7 +1,7 @@
/* Instruction scheduling pass. This file contains definitions used
internally in the scheduler.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GCC.
@@ -36,8 +36,8 @@ extern state_t curr_state;
/* Forward declaration. */
struct ready_list;
-/* Type to represent status of a dependence. A convinient short alias. */
-typedef HOST_WIDE_INT ds_t;
+/* Type to represent status of a dependence. */
+typedef int ds_t;
/* Type to represent weakness of speculative dependence. */
typedef int dw_t;
@@ -377,10 +377,10 @@ extern regset *glat_start, *glat_end;
for using to describe instruction's status. It is set whenever instuction
has at least one dependence, that cannot be overcome.
See also: check_dep_status () in sched-deps.c . */
-#define DEP_STATUS(LINK) XWINT (LINK, 2)
+#define DEP_STATUS(LINK) XINT (LINK, 2)
/* We exclude sign bit. */
-#define BITS_PER_DEP_STATUS (HOST_BITS_PER_WIDE_INT - 1)
+#define BITS_PER_DEP_STATUS (HOST_BITS_PER_INT - 1)
/* First '4' stands for 3 dep type bits and HARD_DEP bit.
Second '4' stands for BEGIN_{DATA, CONTROL}, BE_IN_{DATA, CONTROL}
diff --git a/gcc/target.h b/gcc/target.h
index e9a5eca..b9d3578 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -1,5 +1,6 @@
/* Data structure definitions for a generic GCC target.
- Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -329,7 +330,7 @@ struct gcc_target
0, if current pattern satisfies the requested speculation type,
1, if pattern of the instruction should be changed to the newly
generated one. */
- int (* speculate_insn) (rtx, HOST_WIDE_INT, rtx *);
+ int (* speculate_insn) (rtx, int, rtx *);
/* The following member value is a pointer to a function called
by the insn scheduler. It should return true if the check instruction