aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-04-07 02:24:06 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-04-07 02:24:06 -0700
commit4c85a96d6e0a24baeeb64a13e1d522b5ee04d76f (patch)
tree8f84c5a6db1901dc589ad46eae5388cda4a8d7fd
parenta18820c64c3148a53112cb1f740d2b03a5c08538 (diff)
downloadgcc-4c85a96d6e0a24baeeb64a13e1d522b5ee04d76f.zip
gcc-4c85a96d6e0a24baeeb64a13e1d522b5ee04d76f.tar.gz
gcc-4c85a96d6e0a24baeeb64a13e1d522b5ee04d76f.tar.bz2
ggc.h (struct rtx_def): Forward declare.
* ggc.h (struct rtx_def): Forward declare. * print-rtl.c (debug_rtx_range): New. * rtl.h (debug_rtx_range): Declare. * varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New. From-SVN: r32996
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/ggc.h1
-rw-r--r--gcc/print-rtl.c15
-rw-r--r--gcc/rtl.h1
-rw-r--r--gcc/varray.h3
5 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3c39485..c28a597 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2000-04-07 Richard Henderson <rth@cygnus.com>
+ * ggc.h (struct rtx_def): Forward declare.
+
+ * print-rtl.c (debug_rtx_range): New.
+ * rtl.h (debug_rtx_range): Declare.
+
+ * varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New.
+
* gcse.c (gcse_main): Don't rebuild the CFG here.
(delete_null_pointer_checks): Likewise.
* ssa.c (convert_to_ssa): Likewise.
diff --git a/gcc/ggc.h b/gcc/ggc.h
index a79ffd5..9ee6c3d 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -37,6 +37,7 @@ struct emit_status;
struct expr_status;
struct hash_table;
struct label_node;
+struct rtx_def;
struct rtvec_def;
struct stmt_status;
union tree_node;
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 2c7194a..4c59163 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -450,6 +450,21 @@ debug_rtx_list (x, n)
debug_rtx (insn);
}
+/* Call this function to print an rtx list from START to END inclusive. */
+
+void
+debug_rtx_range (start, end)
+ rtx start, end;
+{
+ while (1)
+ {
+ debug_rtx (start);
+ if (!start || start == end)
+ break;
+ start = NEXT_INSN (start);
+ }
+}
+
/* Call this function to search an rtx list to find one with insn uid UID,
and then call debug_rtx_list to print it, using DEBUG_RTX_COUNT.
The found insn is returned to enable further debugging analysis. */
diff --git a/gcc/rtl.h b/gcc/rtl.h
index f07407c..517a0db 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1564,6 +1564,7 @@ extern void fix_sched_param PARAMS ((const char *, const char *));
/* In print-rtl.c */
extern void debug_rtx PARAMS ((rtx));
extern void debug_rtx_list PARAMS ((rtx, int));
+extern void debug_rtx_range PARAMS ((rtx, rtx));
extern rtx debug_rtx_find PARAMS ((rtx, int));
#ifdef BUFSIZ
extern void print_rtl PARAMS ((FILE *, rtx));
diff --git a/gcc/varray.h b/gcc/varray.h
index 69482a9..4e9b62f 100644
--- a/gcc/varray.h
+++ b/gcc/varray.h
@@ -168,6 +168,9 @@ extern varray_type varray_grow PARAMS ((varray_type, size_t));
#define VARRAY_SIZE(VA) ((VA)->num_elements)
+#define VARRAY_ACTIVE_SIZE(VA) ((VA)->elements_used)
+#define VARRAY_POP_ALL(VA) ((VA)->elements_used = 0)
+
/* Check for VARRAY_xxx macros being in bound. */
#if defined ENABLE_CHECKING && (GCC_VERSION >= 2007)
extern void varray_check_failed PARAMS ((varray_type, size_t,