diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ggc.h | 1 | ||||
-rw-r--r-- | gcc/print-rtl.c | 15 | ||||
-rw-r--r-- | gcc/rtl.h | 1 | ||||
-rw-r--r-- | gcc/varray.h | 3 |
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. @@ -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. */ @@ -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, |