aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@redhat.com>2004-03-16 22:31:58 +0000
committerDiego Novillo <dnovillo@redhat.com>2004-03-16 22:31:58 +0000
commita0102afd28eb5b96ed8e520e8b08068df465e9a8 (patch)
treeca7ca042b3dcd11bc5e2a55ffb5488b5c078c392
parent80131e0595f04c257f4c8a7bc1daefaccf70ebd9 (diff)
* tree-dump.c (struct dump_option_value_info): Add TDF_UID.
* tree.h (TDF_UID): Define. * doc/invoke.texi: Document -ftree-dump-...-uid. * tree-pretty-print.c (debug_generic_expr): Add TDF_UID. (debug_generic_stmt): Likewise. (dump_decl_name): New function. (dump_generic_node): Call it. (print_declaration): Add new argument 'flags'. Update all users. (print_struct_decl): Likewise. * tree-alias-ander.c, tree-cfg.c, tree-dfa.c, tree-mudflap.c, tree-nrv.c, tree-sra.c, tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa.c, tree-tail-call.c: Call print_generic_* with 'dump_flags'. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/tree-ssa-20020619-branch@79554 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.tree-ssa18
-rw-r--r--gcc/doc/invoke.texi4
-rw-r--r--gcc/tree-alias-ander.c2
-rw-r--r--gcc/tree-cfg.c2
-rw-r--r--gcc/tree-dfa.c6
-rw-r--r--gcc/tree-dump.c1
-rw-r--r--gcc/tree-mudflap.c8
-rw-r--r--gcc/tree-nrv.c4
-rw-r--r--gcc/tree-pretty-print.c130
-rw-r--r--gcc/tree-sra.c24
-rw-r--r--gcc/tree-ssa-alias.c14
-rw-r--r--gcc/tree-ssa-ccp.c12
-rw-r--r--gcc/tree-ssa-copy.c4
-rw-r--r--gcc/tree-ssa-dom.c4
-rw-r--r--gcc/tree-ssa-dse.c2
-rw-r--r--gcc/tree-ssa-forwprop.c4
-rw-r--r--gcc/tree-ssa-operands.c4
-rw-r--r--gcc/tree-ssa-pre.c24
-rw-r--r--gcc/tree-ssa.c4
-rw-r--r--gcc/tree-tailcall.c2
-rw-r--r--gcc/tree.h3
21 files changed, 137 insertions, 139 deletions
diff --git a/gcc/ChangeLog.tree-ssa b/gcc/ChangeLog.tree-ssa
index 848cb33ed84..ff5205c8ec3 100644
--- a/gcc/ChangeLog.tree-ssa
+++ b/gcc/ChangeLog.tree-ssa
@@ -1,3 +1,21 @@
+2004-03-16 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-dump.c (struct dump_option_value_info): Add TDF_UID.
+ * tree.h (TDF_UID): Define.
+ * doc/invoke.texi: Document -ftree-dump-...-uid.
+ * tree-pretty-print.c (debug_generic_expr): Add TDF_UID.
+ (debug_generic_stmt): Likewise.
+ (dump_decl_name): New function.
+ (dump_generic_node): Call it.
+ (print_declaration): Add new argument 'flags'. Update all users.
+ (print_struct_decl): Likewise.
+ * tree-alias-ander.c, tree-cfg.c, tree-dfa.c, tree-mudflap.c,
+ tree-nrv.c, tree-sra.c, tree-ssa-alias.c, tree-ssa-ccp.c,
+ tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-dse.c,
+ tree-ssa-forwprop.c, tree-ssa-operands.c, tree-ssa-pre.c,
+ tree-ssa.c, tree-tail-call.c: Call print_generic_* with
+ 'dump_flags'.
+
2004-03-16 Dale Johannesen <dalej@apple.com>
* Makefile.in (tree-ssa-phiopt.o): add langhooks.h dependency.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 86b12857a6f..ebf7d711d50 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -3447,8 +3447,10 @@ Enable showing basic block boundaries (disabled in raw dumps).
Enable showing virtual operands for every statement.
@item lineno
Enable showing line numbers for statements.
+@item uid
+Enable showing the unique ID (@code{DECL_UID}) for each variable.
@item all
-Turn on all options.
+Turn on all options, except @option{raw}, @option{slim} and @option{lineno}.
@end table
The following tree dumps are possible:
diff --git a/gcc/tree-alias-ander.c b/gcc/tree-alias-ander.c
index 715b4219582..b3b14d1fa12 100644
--- a/gcc/tree-alias-ander.c
+++ b/gcc/tree-alias-ander.c
@@ -652,7 +652,7 @@ andersen_op_assign (struct tree_alias_ops *ops ATTRIBUTE_UNUSED,
{
fprintf (dump_file, "Op assignment %s = ",
alias_get_name (ALIAS_VAR_DECL (lhs)));
- print_generic_stmt (dump_file, operation, 0);
+ print_generic_stmt (dump_file, operation, dump_flags);
fprintf (dump_file, "\n");
}
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index c63c58dccc4..499a4d183ff 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3937,7 +3937,7 @@ dump_function_to_file (tree fn, FILE *file, int flags)
arg = DECL_ARGUMENTS (fn);
while (arg)
{
- print_generic_expr (file, arg, 0);
+ print_generic_expr (file, arg, dump_flags);
if (TREE_CHAIN (arg))
fprintf (file, ", ");
arg = TREE_CHAIN (arg);
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index bdb89dd1eef..8d50ccbaa5f 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -529,7 +529,7 @@ dump_variable (FILE *file, tree var)
return;
}
- print_generic_expr (file, var, 0);
+ print_generic_expr (file, var, dump_flags);
if (TREE_CODE (var) == SSA_NAME)
var = SSA_NAME_VAR (var);
@@ -544,7 +544,7 @@ dump_variable (FILE *file, tree var)
if (ann->type_mem_tag)
{
fprintf (file, ", type memory tag: ");
- print_generic_expr (file, ann->type_mem_tag, 0);
+ print_generic_expr (file, ann->type_mem_tag, dump_flags);
}
if (ann->is_alias_tag)
@@ -559,7 +559,7 @@ dump_variable (FILE *file, tree var)
if (ann->default_def)
{
fprintf (file, ", default def: ");
- print_generic_expr (file, ann->default_def, 0);
+ print_generic_expr (file, ann->default_def, dump_flags);
}
if (ann->may_aliases)
diff --git a/gcc/tree-dump.c b/gcc/tree-dump.c
index 110369ba0b1..d45498ed455 100644
--- a/gcc/tree-dump.c
+++ b/gcc/tree-dump.c
@@ -681,6 +681,7 @@ static const struct dump_option_value_info dump_options[] =
{"blocks", TDF_BLOCKS},
{"vops", TDF_VOPS},
{"lineno", TDF_LINENO},
+ {"uid", TDF_UID},
{"all", ~(TDF_RAW | TDF_SLIM | TDF_LINENO)},
{NULL, 0}
};
diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c
index 4023faac13f..9172541af39 100644
--- a/gcc/tree-mudflap.c
+++ b/gcc/tree-mudflap.c
@@ -998,9 +998,9 @@ mudflap_enqueue_decl (tree obj)
if (dump_file)
{
fprintf (dump_file, "enqueue_decl obj=`");
- print_generic_expr (dump_file, obj, 0);
+ print_generic_expr (dump_file, obj, dump_flags);
fprintf (dump_file, "' size=");
- print_generic_expr (dump_file, object_size, 0);
+ print_generic_expr (dump_file, object_size, dump_flags);
fprintf (dump_file, "\n");
}
@@ -1047,9 +1047,9 @@ mudflap_enqueue_constant (tree obj)
if (dump_file)
{
fprintf (dump_file, "enqueue_constant obj=`");
- print_generic_expr (dump_file, obj, 0);
+ print_generic_expr (dump_file, obj, dump_flags);
fprintf (dump_file, "' size=");
- print_generic_expr (dump_file, object_size, 0);
+ print_generic_expr (dump_file, object_size, dump_flags);
fprintf (dump_file, "\n");
}
diff --git a/gcc/tree-nrv.c b/gcc/tree-nrv.c
index ff4626faabd..2c344967d66 100644
--- a/gcc/tree-nrv.c
+++ b/gcc/tree-nrv.c
@@ -170,9 +170,9 @@ tree_nrv (void)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "NRV Replaced: ");
- print_generic_expr (dump_file, found, 0);
+ print_generic_expr (dump_file, found, dump_flags);
fprintf (dump_file, " with: ");
- print_generic_expr (dump_file, result, 0);
+ print_generic_expr (dump_file, result, dump_flags);
fprintf (dump_file, "\n");
}
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index c01aef79059..08816cb2e22 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -39,8 +39,8 @@ static void pretty_print_string (pretty_printer *, const char*);
static void print_call_name (pretty_printer *, tree);
static void newline_and_indent (pretty_printer *, int);
static void maybe_init_pretty_print (FILE *);
-static void print_declaration (pretty_printer *, tree, int);
-static void print_struct_decl (pretty_printer *, tree, int);
+static void print_declaration (pretty_printer *, tree, int, int);
+static void print_struct_decl (pretty_printer *, tree, int, int);
static void do_niy (pretty_printer *, tree);
static void dump_vops (pretty_printer *, tree, int);
static void dump_generic_bb_buff (pretty_printer *, basic_block, int, int);
@@ -87,24 +87,24 @@ do_niy (pretty_printer *buffer, tree node)
void
debug_generic_expr (tree t)
{
- print_generic_expr (stderr, t, TDF_VOPS);
+ print_generic_expr (stderr, t, TDF_VOPS|TDF_UID);
fprintf (stderr, "\n");
}
void
debug_generic_stmt (tree t)
{
- print_generic_stmt (stderr, t, TDF_VOPS);
+ print_generic_stmt (stderr, t, TDF_VOPS|TDF_UID);
fprintf (stderr, "\n");
}
/* Prints declaration DECL to the FILE with details specified by FLAGS. */
void
-print_generic_decl (FILE *file, tree decl, int flags ATTRIBUTE_UNUSED)
+print_generic_decl (FILE *file, tree decl, int flags)
{
maybe_init_pretty_print (file);
dumping_stmts = true;
- print_declaration (&buffer, decl, 2);
+ print_declaration (&buffer, decl, 2, flags);
pp_write_text_to_stream (&buffer);
}
@@ -149,6 +149,26 @@ print_generic_expr (FILE *file, tree t, int flags)
dump_generic_node (&buffer, t, 0, flags, false);
}
+/* Dump the name of a _DECL node and its DECL_UID if TDF_UID is set
+ in FLAGS. */
+
+static void
+dump_decl_name (pretty_printer *buffer, tree node, int flags)
+{
+ if (DECL_NAME (node))
+ pp_tree_identifier (buffer, DECL_NAME (node));
+
+ if ((flags & TDF_UID)
+ || DECL_NAME (node) == NULL_TREE)
+ {
+ if (TREE_CODE (node) == LABEL_DECL
+ && LABEL_DECL_UID (node) != -1)
+ pp_printf (buffer, "<L" HOST_WIDE_INT_PRINT_DEC ">",
+ LABEL_DECL_UID (node));
+ else
+ pp_printf (buffer, "<D%u>", DECL_UID (node));
+ }
+}
/* Dump the node NODE on the pretty_printer BUFFER, SPC spaces of indent.
FLAGS specifies details to show in the dump (see TDF_* in tree.h). If
@@ -249,7 +269,7 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
if (class == 'd')
{
if (DECL_NAME (node))
- pp_tree_identifier (buffer, DECL_NAME (node));
+ dump_decl_name (buffer, node, flags);
else
pp_string (buffer, "<unnamed type decl>");
}
@@ -258,12 +278,10 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
if (TYPE_NAME (node))
{
if (TREE_CODE (TYPE_NAME (node)) == IDENTIFIER_NODE)
- pp_string (buffer,
- IDENTIFIER_POINTER (TYPE_NAME (node)));
+ pp_tree_identifier (buffer, TYPE_NAME (node));
else if (TREE_CODE (TYPE_NAME (node)) == TYPE_DECL
&& DECL_NAME (TYPE_NAME (node)))
- pp_string (buffer,
- IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (node))));
+ dump_decl_name (buffer, TYPE_NAME (node), flags);
else
pp_string (buffer, "<unnamed type>");
}
@@ -285,7 +303,7 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
pp_character (buffer, '(');
pp_string (buffer, str);
if (TYPE_NAME (node) && DECL_NAME (TYPE_NAME (node)))
- pp_string (buffer, IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (node))));
+ dump_decl_name (buffer, TYPE_NAME (node), flags);
else
pp_printf (buffer, "<T%x>", TYPE_UID (node));
@@ -331,8 +349,7 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
break;
case METHOD_TYPE:
- pp_string (buffer, IDENTIFIER_POINTER
- (DECL_NAME (TYPE_NAME (TYPE_METHOD_BASETYPE (node)))));
+ dump_decl_name (buffer, TYPE_NAME (TYPE_METHOD_BASETYPE (node)), flags);
pp_string (buffer, "::");
break;
@@ -384,7 +401,7 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
if (TYPE_NAME (node))
dump_generic_node (buffer, TYPE_NAME (node), spc, flags, false);
else
- print_struct_decl (buffer, node, spc);
+ print_struct_decl (buffer, node, spc, flags);
break;
case QUAL_UNION_TYPE:
@@ -512,22 +529,13 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
break;
case FUNCTION_DECL:
- pp_tree_identifier (buffer, DECL_NAME (node));
+ case CONST_DECL:
+ dump_decl_name (buffer, node, flags);
break;
case LABEL_DECL:
if (DECL_NAME (node))
- {
- pp_string (buffer, IDENTIFIER_POINTER (DECL_NAME (node)));
- if (flags & TDF_DETAILS)
- {
- if (LABEL_DECL_UID (node) != -1)
- pp_printf (buffer, "<L" HOST_WIDE_INT_PRINT_DEC ">",
- LABEL_DECL_UID (node));
- else
- pp_printf (buffer, "<D%u>", DECL_UID (node));
- }
- }
+ dump_decl_name (buffer, node, flags);
else if (LABEL_DECL_UID (node) != -1)
pp_printf (buffer, "<L" HOST_WIDE_INT_PRINT_DEC ">",
LABEL_DECL_UID (node));
@@ -535,17 +543,6 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
pp_printf (buffer, "<D%u>", DECL_UID (node));
break;
- case CONST_DECL:
- if (DECL_NAME (node))
- {
- pp_string (buffer, IDENTIFIER_POINTER (DECL_NAME (node)));
- if (flags & TDF_DETAILS)
- pp_printf (buffer, "<D%u>", DECL_UID (node));
- }
- else
- pp_printf (buffer, "<D%u>", DECL_UID (node));
- break;
-
case TYPE_DECL:
if (strcmp (DECL_SOURCE_FILE (node), "<built-in>") == 0)
{
@@ -554,7 +551,7 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
}
if (DECL_NAME (node))
{
- pp_string (buffer, IDENTIFIER_POINTER (DECL_NAME (node)));
+ dump_decl_name (buffer, node, flags);
}
else
{
@@ -577,34 +574,15 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
case VAR_DECL:
case PARM_DECL:
- if (DECL_NAME (node))
- {
- pp_string (buffer, IDENTIFIER_POINTER (DECL_NAME (node)));
- if (flags & TDF_DETAILS)
- pp_printf (buffer, "<D%u>", DECL_UID (node));
- }
- else
- pp_printf (buffer, "<D%u>", DECL_UID (node));
+ case FIELD_DECL:
+ case NAMESPACE_DECL:
+ dump_decl_name (buffer, node, flags);
break;
case RESULT_DECL:
pp_string (buffer, "<retval>");
break;
- case FIELD_DECL:
- if (DECL_NAME (node))
- pp_string (buffer, IDENTIFIER_POINTER (DECL_NAME (node)));
- else
- pp_printf (buffer, "<D%u>", DECL_UID (node));
- break;
-
- case NAMESPACE_DECL:
- if (DECL_NAME (node))
- pp_string (buffer, IDENTIFIER_POINTER (DECL_NAME (node)));
- else
- pp_printf (buffer, "<D%u>", DECL_UID (node));
- break;
-
case COMPONENT_REF:
op0 = TREE_OPERAND (node, 0);
str = ".";
@@ -676,10 +654,7 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
val = TREE_OPERAND (val, 0);
if (val && TREE_CODE (val) == FUNCTION_DECL)
{
- if (DECL_NAME (val))
- pp_string (buffer, IDENTIFIER_POINTER (DECL_NAME (val)));
- else
- pp_printf (buffer, "<D%u>", DECL_UID (val));
+ dump_decl_name (buffer, val, flags);
}
else
{
@@ -843,7 +818,7 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
for (op0 = BIND_EXPR_VARS (node); op0; op0 = TREE_CHAIN (op0))
{
- print_declaration (buffer, op0, spc+2);
+ print_declaration (buffer, op0, spc+2, flags);
pp_newline (buffer);
}
}
@@ -1511,7 +1486,7 @@ dump_generic_node (pretty_printer *buffer, tree node, int spc, int flags,
/* Print the declaration of a variable. */
static void
-print_declaration (pretty_printer *buffer, tree t, int spc)
+print_declaration (pretty_printer *buffer, tree t, int spc, int flags)
{
/* Don't print type declarations. */
if (TREE_CODE (t) == TYPE_DECL)
@@ -1536,11 +1511,11 @@ print_declaration (pretty_printer *buffer, tree t, int spc)
tmp = TREE_TYPE (t);
while (TREE_CODE (TREE_TYPE (tmp)) == ARRAY_TYPE)
tmp = TREE_TYPE (tmp);
- dump_generic_node (buffer, TREE_TYPE (tmp), spc, 0, false);
+ dump_generic_node (buffer, TREE_TYPE (tmp), spc, flags, false);
/* Print variable's name. */
pp_space (buffer);
- dump_generic_node (buffer, t, spc, 0, false);
+ dump_generic_node (buffer, t, spc, flags, false);
/* Print the dimensions. */
tmp = TREE_TYPE (t);
@@ -1554,7 +1529,8 @@ print_declaration (pretty_printer *buffer, tree t, int spc)
TREE_INT_CST_LOW (TYPE_SIZE (tmp)) /
TREE_INT_CST_LOW (TYPE_SIZE (TREE_TYPE (tmp))));
else
- dump_generic_node (buffer, TYPE_SIZE_UNIT (tmp), spc, 0, false);
+ dump_generic_node (buffer, TYPE_SIZE_UNIT (tmp), spc, flags,
+ false);
}
pp_character (buffer, ']');
tmp = TREE_TYPE (tmp);
@@ -1563,11 +1539,11 @@ print_declaration (pretty_printer *buffer, tree t, int spc)
else
{
/* Print type declaration. */
- dump_generic_node (buffer, TREE_TYPE (t), spc, 0, false);
+ dump_generic_node (buffer, TREE_TYPE (t), spc, flags, false);
/* Print variable's name. */
pp_space (buffer);
- dump_generic_node (buffer, t, spc, 0, false);
+ dump_generic_node (buffer, t, spc, flags, false);
}
/* The initial value of a function serves to determine wether the function
@@ -1581,7 +1557,7 @@ print_declaration (pretty_printer *buffer, tree t, int spc)
pp_space (buffer);
pp_character (buffer, '=');
pp_space (buffer);
- dump_generic_node (buffer, DECL_INITIAL (t), spc, 0, false);
+ dump_generic_node (buffer, DECL_INITIAL (t), spc, flags, false);
}
}
@@ -1593,7 +1569,7 @@ print_declaration (pretty_printer *buffer, tree t, int spc)
FIXME: Still incomplete. */
static void
-print_struct_decl (pretty_printer *buffer, tree node, int spc)
+print_struct_decl (pretty_printer *buffer, tree node, int spc, int flags)
{
/* Print the name of the structure. */
if (TYPE_NAME (node))
@@ -1623,13 +1599,13 @@ print_struct_decl (pretty_printer *buffer, tree node, int spc)
/* Avoid to print recursively the structure. */
/* FIXME : Not implemented correctly...,
what about the case when we have a cycle in the contain graph? ...
- Maybe this could be solved by looking at the scope in which the structure
- was declared. */
+ Maybe this could be solved by looking at the scope in which the
+ structure was declared. */
if (TREE_TYPE (tmp) != node
|| (TREE_CODE (TREE_TYPE (tmp)) == POINTER_TYPE &&
TREE_TYPE (TREE_TYPE (tmp)) != node))
{
- print_declaration (buffer, tmp, spc+2);
+ print_declaration (buffer, tmp, spc+2, flags);
pp_newline (buffer);
}
else
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index a7189668392..aef77c00772 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -293,7 +293,7 @@ can_be_scalarized_p (tree var)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Cannot scalarize variable ");
- print_generic_expr (dump_file, var, 0);
+ print_generic_expr (dump_file, var, dump_flags);
fprintf (dump_file, " because it must live in memory\n");
}
return false;
@@ -304,7 +304,7 @@ can_be_scalarized_p (tree var)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Cannot scalarize variable ");
- print_generic_expr (dump_file, var, 0);
+ print_generic_expr (dump_file, var, dump_flags);
fprintf (dump_file, " because it is declared volatile\n");
}
return false;
@@ -328,10 +328,10 @@ can_be_scalarized_p (tree var)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Cannot scalarize variable ");
- print_generic_expr (dump_file, var, 0);
+ print_generic_expr (dump_file, var, dump_flags);
fprintf (dump_file,
" because it contains an aggregate type field, ");
- print_generic_expr (dump_file, field, 0);
+ print_generic_expr (dump_file, field, dump_flags);
fprintf (dump_file, "\n");
}
return false;
@@ -346,10 +346,10 @@ can_be_scalarized_p (tree var)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Cannot scalarize variable ");
- print_generic_expr (dump_file, var, 0);
+ print_generic_expr (dump_file, var, dump_flags);
fprintf (dump_file,
" because it contains a __complex__ field, ");
- print_generic_expr (dump_file, field, 0);
+ print_generic_expr (dump_file, field, dump_flags);
fprintf (dump_file, "\n");
}
return false;
@@ -364,10 +364,10 @@ can_be_scalarized_p (tree var)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Cannot scalarize variable ");
- print_generic_expr (dump_file, var, 0);
+ print_generic_expr (dump_file, var, dump_flags);
fprintf (dump_file,
" because it contains a bit-field, ");
- print_generic_expr (dump_file, field, 0);
+ print_generic_expr (dump_file, field, dump_flags);
fprintf (dump_file, "\n");
}
return false;
@@ -379,7 +379,7 @@ can_be_scalarized_p (tree var)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Cannot scalarize variable ");
- print_generic_expr (dump_file, var, 0);
+ print_generic_expr (dump_file, var, dump_flags);
fprintf (dump_file,
" because it contains more than %d fields\n",
MAX_NFIELDS_FOR_SRA);
@@ -1087,16 +1087,16 @@ dump_sra_map_trav (void **slot, void *data)
{
case REALPART_EXPR:
fputs ("__real__ ", f);
- print_generic_expr (dump_file, e->base, 0);
+ print_generic_expr (dump_file, e->base, dump_flags);
fprintf (f, " -> %s\n", get_name (e->replace));
break;
case IMAGPART_EXPR:
fputs ("__imag__ ", f);
- print_generic_expr (dump_file, e->base, 0);
+ print_generic_expr (dump_file, e->base, dump_flags);
fprintf (f, " -> %s\n", get_name (e->replace));
break;
case COMPONENT_REF:
- print_generic_expr (dump_file, e->base, 0);
+ print_generic_expr (dump_file, e->base, dump_flags);
fprintf (f, ".%s -> %s\n", get_name (e->field), get_name (e->replace));
break;
default:
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c
index 5fee057c437..eabce62df5c 100644
--- a/gcc/tree-ssa-alias.c
+++ b/gcc/tree-ssa-alias.c
@@ -1479,13 +1479,13 @@ add_pointed_to_expr (tree ptr, tree value)
if (dump_file)
{
fprintf (dump_file, "Pointer ");
- print_generic_expr (dump_file, ptr, 0);
+ print_generic_expr (dump_file, ptr, dump_flags);
fprintf (dump_file, " points to ");
if (ann->pt_malloc)
fprintf (dump_file, "malloc space: ");
else
fprintf (dump_file, "an arbitrary address: ");
- print_generic_expr (dump_file, value, 0);
+ print_generic_expr (dump_file, value, dump_flags);
fprintf (dump_file, "\n");
}
}
@@ -1543,7 +1543,7 @@ collect_points_to_info_r (tree var, tree stmt, void *data)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Visiting use-def links for ");
- print_generic_expr (dump_file, var, 0);
+ print_generic_expr (dump_file, var, dump_flags);
fprintf (dump_file, "\n");
}
@@ -1892,7 +1892,7 @@ dump_points_to_info_for (FILE *file, tree ptr)
ssa_name_ann_t ann = ssa_name_ann (ptr);
fprintf (file, "Pointer ");
- print_generic_expr (file, ptr, 0);
+ print_generic_expr (file, ptr, dump_flags);
if (ann == NULL)
return;
@@ -1900,7 +1900,7 @@ dump_points_to_info_for (FILE *file, tree ptr)
if (ann->name_mem_tag)
{
fprintf (file, ", name memory tag: ");
- print_generic_expr (file, ann->name_mem_tag, 0);
+ print_generic_expr (file, ann->name_mem_tag, dump_flags);
}
if (ann->value_escapes_p)
@@ -1919,7 +1919,7 @@ dump_points_to_info_for (FILE *file, tree ptr)
fprintf (file, ", points-to vars: { ");
EXECUTE_IF_SET_IN_BITMAP (ann->pt_vars, 0, ix,
{
- print_generic_expr (file, referenced_var (ix), 0);
+ print_generic_expr (file, referenced_var (ix), dump_flags);
fprintf (file, " ");
});
fprintf (file, "}");
@@ -2009,7 +2009,7 @@ dump_may_aliases_for (FILE *file, tree var)
fprintf (file, "{ ");
for (i = 0; i < VARRAY_ACTIVE_SIZE (aliases); i++)
{
- print_generic_expr (file, VARRAY_TREE (aliases, i), 0);
+ print_generic_expr (file, VARRAY_TREE (aliases, i), dump_flags);
fprintf (file, " ");
}
fprintf (file, "}");
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
index 839245d5169..f174b7a1911 100644
--- a/gcc/tree-ssa-ccp.c
+++ b/gcc/tree-ssa-ccp.c
@@ -310,7 +310,7 @@ simulate_stmt (tree use_stmt)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "\nSimulating statement (from ssa_edges): ");
- print_generic_stmt (dump_file, use_stmt, 0);
+ print_generic_stmt (dump_file, use_stmt, dump_flags);
}
if (TREE_CODE (use_stmt) == PHI_NODE)
@@ -425,7 +425,7 @@ visit_phi_node (tree phi)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "\nVisiting PHI node: ");
- print_generic_expr (dump_file, phi, 0);
+ print_generic_expr (dump_file, phi, dump_flags);
}
curr_val = get_value (PHI_RESULT (phi));
@@ -493,7 +493,7 @@ visit_phi_node (tree phi)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "\t");
- print_generic_expr (dump_file, rdef, 0);
+ print_generic_expr (dump_file, rdef, dump_flags);
dump_lattice_value (dump_file, "\tValue: ", *rdef_val);
fprintf (dump_file, "\n");
}
@@ -975,7 +975,7 @@ dump_lattice_value (FILE *outf, const char *prefix, value val)
break;
case CONSTANT:
fprintf (outf, "%sCONSTANT ", prefix);
- print_generic_expr (outf, val.const_val, 0);
+ print_generic_expr (outf, val.const_val, dump_flags);
break;
default:
abort ();
@@ -2316,7 +2316,7 @@ execute_fold_all_builtins (void)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Simplified\n ");
- print_generic_stmt (dump_file, *stmtp, 0);
+ print_generic_stmt (dump_file, *stmtp, dump_flags);
}
set_rhs (stmtp, result);
@@ -2325,7 +2325,7 @@ execute_fold_all_builtins (void)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "to\n ");
- print_generic_stmt (dump_file, *stmtp, 0);
+ print_generic_stmt (dump_file, *stmtp, dump_flags);
fprintf (dump_file, "\n");
}
}
diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c
index 65a52b74287..027cde018d2 100644
--- a/gcc/tree-ssa-copy.c
+++ b/gcc/tree-ssa-copy.c
@@ -240,11 +240,11 @@ cprop_into_stmt (tree stmt, varray_type const_and_copies)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, " Replaced '");
- print_generic_expr (dump_file, *op_p, 0);
+ print_generic_expr (dump_file, *op_p, dump_flags);
fprintf (dump_file, "' with %s '",
(TREE_CODE (val) != SSA_NAME
? "constant" : "variable"));
- print_generic_expr (dump_file, val, 0);
+ print_generic_expr (dump_file, val, dump_flags);
fprintf (dump_file, "'\n");
}
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index b922b01610b..4d9c7c9736a 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -2269,9 +2269,9 @@ eliminate_redundant_computations (struct dom_walk_data *walk_data,
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, " Replaced redundant expr '");
- print_generic_expr (dump_file, *expr_p, 0);
+ print_generic_expr (dump_file, *expr_p, dump_flags);
fprintf (dump_file, "' with '");
- print_generic_expr (dump_file, cached_lhs, 0);
+ print_generic_expr (dump_file, cached_lhs, dump_flags);
fprintf (dump_file, "'\n");
}
diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
index 6d5b0e80eb1..68bdfe9ae58 100644
--- a/gcc/tree-ssa-dse.c
+++ b/gcc/tree-ssa-dse.c
@@ -305,7 +305,7 @@ dse_optimize_stmt (struct dom_walk_data *walk_data,
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, " Deleted dead store '");
- print_generic_expr (dump_file, bsi_stmt (bsi), 0);
+ print_generic_expr (dump_file, bsi_stmt (bsi), dump_flags);
fprintf (dump_file, "'\n");
}
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index 5cad3144349..f86608d2b88 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -351,9 +351,9 @@ substitute_single_use_vars (varray_type forwprop_data)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, " Replaced '");
- print_generic_expr (dump_file, cond, 0);
+ print_generic_expr (dump_file, cond, dump_flags);
fprintf (dump_file, "' with '");
- print_generic_expr (dump_file, new_cond, 0);
+ print_generic_expr (dump_file, new_cond, dump_flags);
fprintf (dump_file, "'\n");
}
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index 5c9fa19d2b9..43c40b62107 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -933,9 +933,9 @@ get_expr_operands (tree stmt, tree *expr_p, int flags, voperands_t prev_vops)
{
fprintf (dump_file,
"NOTE: no flow-sensitive alias info for ");
- print_generic_expr (dump_file, ptr, 0);
+ print_generic_expr (dump_file, ptr, dump_flags);
fprintf (dump_file, " in ");
- print_generic_stmt (dump_file, stmt, 0);
+ print_generic_stmt (dump_file, stmt, dump_flags);
}
if (TREE_CODE (ptr) == SSA_NAME)
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 59ad87d6996..c1e3ed6eae4 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -612,7 +612,7 @@ factor_through_injuries (struct expr_info *ei, tree start, tree var,
if (dump_file)
{
fprintf (dump_file, "Found a real injury:");
- print_generic_stmt (dump_file, SSA_NAME_DEF_STMT (end), 0);
+ print_generic_stmt (dump_file, SSA_NAME_DEF_STMT (end), dump_flags);
fprintf (dump_file, "\n");
}
if (injured)
@@ -735,7 +735,7 @@ set_var_phis (struct expr_info *ei, tree phi)
if (dump_file)
{
fprintf (dump_file, "After factoring through injuries:");
- print_generic_stmt (dump_file, phi_operand, 0);
+ print_generic_stmt (dump_file, phi_operand, dump_flags);
fprintf (dump_file, "\n");
}
}
@@ -1739,7 +1739,7 @@ rename_1 (struct expr_info *ei)
{
size_t i;
fprintf (dump_file, "Occurrences for expression ");
- print_generic_expr (dump_file, ei->expr, 0);
+ print_generic_expr (dump_file, ei->expr, dump_flags);
fprintf (dump_file, " after Rename 1\n");
for (i = 0; i < VARRAY_ACTIVE_SIZE (ei->euses_dt_order); i++)
{
@@ -2102,9 +2102,9 @@ insert_one_operand (struct expr_info *ei, tree ephi, int opnd_indx,
if (dump_file)
{
fprintf (dump_file, "In BB %d, insert save of ", bb->index);
- print_generic_expr (dump_file, expr, 0);
+ print_generic_expr (dump_file, expr, dump_flags);
fprintf (dump_file, " to ");
- print_generic_expr (dump_file, newtemp, 0);
+ print_generic_expr (dump_file, newtemp, dump_flags);
fprintf (dump_file, " after ");
print_generic_stmt (dump_file, last_stmt (bb), dump_flags);
fprintf (dump_file, " (on edge), because of EPHI");
@@ -2773,11 +2773,11 @@ code_motion (struct expr_info *ei)
{
fprintf (dump_file, "In BB %d, insert save of ",
usebb->index);
- print_generic_expr (dump_file, copy, 0);
+ print_generic_expr (dump_file, copy, dump_flags);
fprintf (dump_file, " to ");
- print_generic_expr (dump_file, newtemp, 0);
+ print_generic_expr (dump_file, newtemp, dump_flags);
fprintf (dump_file, " before statement ");
- print_generic_expr (dump_file, use_stmt, 0);
+ print_generic_expr (dump_file, use_stmt, dump_flags);
fprintf (dump_file, "\n");
if (EXPR_LOCUS (use_stmt))
fprintf (dump_file, " on line %d\n",
@@ -2807,9 +2807,9 @@ code_motion (struct expr_info *ei)
print_generic_expr (dump_file,
TREE_OPERAND (use_stmt, 1), 0);
fprintf (dump_file, " from ");
- print_generic_expr (dump_file, newtemp, 0);
+ print_generic_expr (dump_file, newtemp, dump_flags);
fprintf (dump_file, " in statement ");
- print_generic_stmt (dump_file, use_stmt, 0);
+ print_generic_stmt (dump_file, use_stmt, dump_flags);
fprintf (dump_file, "\n");
if (EXPR_LOCUS (use_stmt))
fprintf (dump_file, " on line %d\n",
@@ -3104,7 +3104,7 @@ pre_expression (struct expr_info *slot, void *data, bitmap vars_to_rename)
{
size_t i;
fprintf (dump_file, "Occurrences for expression ");
- print_generic_expr (dump_file, ei->expr, 0);
+ print_generic_expr (dump_file, ei->expr, dump_flags);
fprintf (dump_file, " after Rename 2\n");
for (i = 0; i < VARRAY_ACTIVE_SIZE (ei->euses_dt_order); i++)
{
@@ -3120,7 +3120,7 @@ pre_expression (struct expr_info *slot, void *data, bitmap vars_to_rename)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "EPHI's for expression ");
- print_generic_expr (dump_file, ei->expr, 0);
+ print_generic_expr (dump_file, ei->expr, dump_flags);
fprintf (dump_file,
" after down safety and will_be_avail computation\n");
FOR_EACH_BB (bb)
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index 11dd4b983d0..708f7dcf0a9 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -2910,7 +2910,7 @@ dump_tree_ssa (FILE *file)
{
dump_bb (bb, file, 0);
fputs (" ", file);
- print_generic_stmt (file, phi_nodes (bb), 0);
+ print_generic_stmt (file, phi_nodes (bb), dump_flags);
fputs ("\n\n", file);
}
}
@@ -3623,7 +3623,7 @@ debug_def_blocks_r (void **slot, void *data ATTRIBUTE_UNUSED)
struct def_blocks_d *db_p = (struct def_blocks_d *) *slot;
fprintf (stderr, "VAR: ");
- print_generic_expr (stderr, db_p->var, 0);
+ print_generic_expr (stderr, db_p->var, dump_flags);
fprintf (stderr, ", DEF_BLOCKS: { ");
EXECUTE_IF_SET_IN_BITMAP (db_p->def_blocks, 0, i,
fprintf (stderr, "%ld ", i));
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index ca9dca2c1ee..41887dd7eb6 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -746,7 +746,7 @@ optimize_tail_call (struct tailcall *t, bool opt_tailcalls)
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "Found tail call ");
- print_generic_expr (dump_file, stmt, 0);
+ print_generic_expr (dump_file, stmt, dump_flags);
fprintf (dump_file, " in bb %i\n", t->call_block->index);
}
}
diff --git a/gcc/tree.h b/gcc/tree.h
index 64d6d8eaeb9..0e875e0a851 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -3642,7 +3642,8 @@ enum tree_dump_index
each pass */
#define TDF_BLOCKS (1 << 5) /* display basic block boundaries */
#define TDF_VOPS (1 << 6) /* display virtual operands */
-#define TDF_LINENO (1 << 7) /* display line numbers for statements */
+#define TDF_LINENO (1 << 7) /* display statement line numbers */
+#define TDF_UID (1 << 8) /* display decl UIDs */
typedef struct dump_info *dump_info_p;