aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-04-27 00:18:08 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-04-27 00:18:08 -0700
commit0a2287bf899285f8b60b4af922e2fb8d9b4cce2a (patch)
tree95290d1b3a766f3853be710b660f7a5f14bbd6dc
parentf77046bbf90d5635de3c42233c79b07df680eb4c (diff)
downloadgcc-0a2287bf899285f8b60b4af922e2fb8d9b4cce2a.zip
gcc-0a2287bf899285f8b60b4af922e2fb8d9b4cce2a.tar.gz
gcc-0a2287bf899285f8b60b4af922e2fb8d9b4cce2a.tar.bz2
rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
* rtlanal.c (dead_or_set_regno_p): Use find_regno_note. * genconfig.c (main): Set all HAVE_foo to 1. * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array. From-SVN: r33473
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/genconfig.c12
-rw-r--r--gcc/graph.c31
-rw-r--r--gcc/rtlanal.c19
4 files changed, 21 insertions, 49 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e39e20a..9e4c0d5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2000-04-26 Richard Henderson <rth@cygnus.com>
+
+ * rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
+
+ * genconfig.c (main): Set all HAVE_foo to 1.
+
+ * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.
+
2000-04-26 Alex Samuel <samuel@codesourcery.com>
* invoke.texi: Document -fssa flag.
diff --git a/gcc/genconfig.c b/gcc/genconfig.c
index 65c8701..d78af03 100644
--- a/gcc/genconfig.c
+++ b/gcc/genconfig.c
@@ -342,22 +342,22 @@ from the machine description file `md'. */\n\n");
printf ("#endif\n");
if (have_cc0_flag)
- printf ("#define HAVE_cc0\n");
+ printf ("#define HAVE_cc0 1\n");
if (have_cmove_flag)
- printf ("#define HAVE_conditional_move\n");
+ printf ("#define HAVE_conditional_move 1\n");
if (have_cond_exec_flag)
- printf ("#define HAVE_conditional_execution\n");
+ printf ("#define HAVE_conditional_execution 1\n");
if (have_lo_sum_flag)
- printf ("#define HAVE_lo_sum\n");
+ printf ("#define HAVE_lo_sum 1\n");
if (have_peephole_flag)
- printf ("#define HAVE_peephole\n");
+ printf ("#define HAVE_peephole 1\n");
if (have_peephole2_flag)
- printf ("#define HAVE_peephole2\n");
+ printf ("#define HAVE_peephole2 1\n");
fflush (stdout);
return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
diff --git a/gcc/graph.c b/gcc/graph.c
index f4dde01..9dd5c8d 100644
--- a/gcc/graph.c
+++ b/gcc/graph.c
@@ -147,33 +147,10 @@ darkgrey\n shape: ellipse" : "white",
/* Print the RTL. */
if (GET_CODE (tmp_rtx) == NOTE)
{
- static const char *note_names[] =
- {
- NULL,
- "deleted",
- "block_beg",
- "block_end",
- "loop_beg",
- "loop_end",
- "function_end",
- "setjmp",
- "loop_cont",
- "loop_vtop",
- "prologue_end",
- "epilogue_beg",
- "deleted_label",
- "function_beg",
- "eh_region_beg",
- "eh_region_end",
- "repeated_line_number",
- "range_start",
- "range_end",
- "live",
- "basic_block"
- };
-
- fprintf (fp, " %s",
- XINT (tmp_rtx, 4) < 0 ? note_names[-XINT (tmp_rtx, 4)] : "");
+ const char *name = "";
+ if (NOTE_LINE_NUMBER (tmp_rtx) < 0)
+ name = GET_NOTE_INSN_NAME (NOTE_LINE_NUMBER (tmp_rtx));
+ fprintf (fp, " %s", name);
}
else if (GET_RTX_CLASS (GET_CODE (tmp_rtx)) == 'i')
print_rtl_single (fp, PATTERN (tmp_rtx));
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index d9087cd..f45a3d4 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -1233,22 +1233,9 @@ dead_or_set_regno_p (insn, test_regno)
unsigned int regno, endregno;
rtx link, pattern;
- /* See if there is a death note for something that includes
- TEST_REGNO. */
- for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
- {
- if (REG_NOTE_KIND (link) != REG_DEAD
- || GET_CODE (XEXP (link, 0)) != REG)
- continue;
-
- regno = REGNO (XEXP (link, 0));
- endregno = (regno >= FIRST_PSEUDO_REGISTER ? regno + 1
- : regno + HARD_REGNO_NREGS (regno,
- GET_MODE (XEXP (link, 0))));
-
- if (test_regno >= regno && test_regno < endregno)
- return 1;
- }
+ /* See if there is a death note for something that includes TEST_REGNO. */
+ if (find_regno_note (insn, REG_DEAD, test_regno))
+ return 1;
if (GET_CODE (insn) == CALL_INSN
&& find_regno_fusage (insn, CLOBBER, test_regno))