summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-07 09:24:06 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-07 09:24:06 +0000
commit40977116f1eefb8672a9403f109f73461963545f (patch)
tree8f84c5a6db1901dc589ad46eae5388cda4a8d7fd /gcc
parent1d1e21f3bf87c52c57390a0491a71cb0b948108a (diff)
downloadgcc-40977116f1eefb8672a9403f109f73461963545f.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32996 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-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 3c39485c202..c28a597d78a 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 a79ffd5986e..9ee6c3dd7a9 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 2c7194a48cb..4c591632123 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 f07407c1972..517a0dbd8db 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 69482a9a315..4e9b62f8421 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,