summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-21 20:34:43 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-21 20:34:43 +0000
commit99caba0fadc1a32a65b64a49df1704d39957bf6e (patch)
tree5732b65d4f290578782bc61fdb3bd2b831e92877 /gcc
parentdbc0e719c48d0b5b119ea83326c53e769e21d3f7 (diff)
downloadgcc-99caba0fadc1a32a65b64a49df1704d39957bf6e.tar.gz
* reg-notes.def (REG_DEP_TRUE): New entry, place first so it
gets value 0. * print-rtl.c (print_rtx): Print the name of a REG_NOTE even if it has value 0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87821 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/print-rtl.c19
-rw-r--r--gcc/reg-notes.def10
3 files changed, 25 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7d034c47903..fd4e6526db4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
+2004-09-21 Zack Weinberg <zack@codesourcery.com>
+
+ * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
+ gets value 0.
+ * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
+ if it has value 0.
+
2004-09-21 Daniel Berlin <dberlin@dberlin.org>
-
+
* c-typeck.c (build_function_call): Give name of object
we are attempting to call in error message.
* c-objc-common.c (c_tree_printer): Call pp_expression,
@@ -30,7 +37,7 @@
precedence of stripped constant.
2004-09-20 Jeff Law <law@redhat.com>
- Jan Hubicka <jh@suse.cz>
+ Jan Hubicka <jh@suse.cz>
* tree-ssanames.c (make_ssa_name): No longer need to clear, then
initialize key elements here.
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 06831596292..b4b2ca36fb5 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -186,16 +186,15 @@ print_rtx (rtx in_rtx)
if (RTX_FLAG (in_rtx, return_val))
fputs ("/i", outfile);
- if (GET_MODE (in_rtx) != VOIDmode)
- {
- /* Print REG_NOTE names for EXPR_LIST and INSN_LIST. */
- if (GET_CODE (in_rtx) == EXPR_LIST
- || GET_CODE (in_rtx) == INSN_LIST)
- fprintf (outfile, ":%s",
- GET_REG_NOTE_NAME (GET_MODE (in_rtx)));
- else
- fprintf (outfile, ":%s", GET_MODE_NAME (GET_MODE (in_rtx)));
- }
+ /* Print REG_NOTE names for EXPR_LIST and INSN_LIST. */
+ if (GET_CODE (in_rtx) == EXPR_LIST
+ || GET_CODE (in_rtx) == INSN_LIST)
+ fprintf (outfile, ":%s",
+ GET_REG_NOTE_NAME (GET_MODE (in_rtx)));
+
+ /* For other rtl, print the mode if it's not VOID. */
+ else if (GET_MODE (in_rtx) != VOIDmode)
+ fprintf (outfile, ":%s", GET_MODE_NAME (GET_MODE (in_rtx)));
}
}
diff --git a/gcc/reg-notes.def b/gcc/reg-notes.def
index 8032516bef6..85a122f6532 100644
--- a/gcc/reg-notes.def
+++ b/gcc/reg-notes.def
@@ -26,6 +26,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* Shorthand. */
#define REG_NOTE(NAME) DEF_REG_NOTE (REG_##NAME)
+/* REG_DEP_TRUE is used in LOG_LINKS to represent a read-after-write
+ dependency (i.e. a true data dependency). This is here, not
+ grouped with REG_DEP_ANTI and REG_DEP_OUTPUT, because some passes
+ use a literal 0 for it. */
+REG_NOTE (DEP_TRUE)
+
/* The value in REG dies in this insn (i.e., it is not needed past
this insn). If REG is set in this insn, the REG_DEAD note may,
but need not, be omitted. */
@@ -92,9 +98,7 @@ REG_NOTE (CC_USER)
REG_NOTE (LABEL)
/* REG_DEP_ANTI and REG_DEP_OUTPUT are used in LOG_LINKS to represent
- write-after-read and write-after-write dependencies respectively.
- Data dependencies, which are the only type of LOG_LINK created by
- flow, are represented by a 0 reg note kind. */
+ write-after-read and write-after-write dependencies respectively. */
REG_NOTE (DEP_ANTI)
REG_NOTE (DEP_OUTPUT)