summaryrefslogtreecommitdiff
path: root/gcc/df-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/df-core.c')
-rw-r--r--gcc/df-core.c38
1 files changed, 37 insertions, 1 deletions
diff --git a/gcc/df-core.c b/gcc/df-core.c
index 0ca33037450..6613d2aebc3 100644
--- a/gcc/df-core.c
+++ b/gcc/df-core.c
@@ -391,7 +391,6 @@ are write-only operations.
#include "basic-block.h"
#include "sbitmap.h"
#include "bitmap.h"
-#include "timevar.h"
#include "df.h"
#include "tree-pass.h"
#include "params.h"
@@ -403,6 +402,9 @@ static void df_clear_bb_info (struct dataflow *, unsigned int);
static void df_set_clean_cfg (void);
#endif
+/* The obstack on which regsets are allocated. */
+struct bitmap_obstack reg_obstack;
+
/* An obstack for bitmap not related to specific dataflow problems.
This obstack should e.g. be used for bitmaps with a short life time
such as temporary bitmaps. */
@@ -1860,6 +1862,40 @@ df_reg_used (rtx insn, rtx reg)
Debugging and printing functions.
----------------------------------------------------------------------------*/
+/* Write information about registers and basic blocks into FILE.
+ This is part of making a debugging dump. */
+
+void
+dump_regset (regset r, FILE *outf)
+{
+ unsigned i;
+ reg_set_iterator rsi;
+
+ if (r == NULL)
+ {
+ fputs (" (nil)", outf);
+ return;
+ }
+
+ EXECUTE_IF_SET_IN_REG_SET (r, 0, i, rsi)
+ {
+ fprintf (outf, " %d", i);
+ if (i < FIRST_PSEUDO_REGISTER)
+ fprintf (outf, " [%s]",
+ reg_names[i]);
+ }
+}
+
+/* Print a human-readable representation of R on the standard error
+ stream. This function is designed to be used from within the
+ debugger. */
+extern void debug_regset (regset);
+DEBUG_FUNCTION void
+debug_regset (regset r)
+{
+ dump_regset (r, stderr);
+ putc ('\n', stderr);
+}
/* Write information about registers and basic blocks into FILE.
This is part of making a debugging dump. */