aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-30 15:42:23 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-30 13:42:23 +0000
commit0a5fa5a1a212c8096f2ee246ef1739ba0083e213 (patch)
tree177f0ffb133f35d5a844f6804649e024de4423fe /gcc/lto
parent0b9c3a04049b790ea3aa6afcfef611088496be9d (diff)
downloadgcc-0a5fa5a1a212c8096f2ee246ef1739ba0083e213.zip
gcc-0a5fa5a1a212c8096f2ee246ef1739ba0083e213.tar.gz
gcc-0a5fa5a1a212c8096f2ee246ef1739ba0083e213.tar.bz2
cgraph.h (cgraph_dump_file): Declare.
* cgraph.h (cgraph_dump_file): Declare. * cgraphunit.c (cgraph_dump_file): Export. * ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose. * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump partitioning decisions. From-SVN: r160053
Diffstat (limited to 'gcc/lto')
-rw-r--r--gcc/lto/ChangeLog5
-rw-r--r--gcc/lto/lto.c28
2 files changed, 33 insertions, 0 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 6c60acd..c67cee7 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,8 @@
+2010-05-30 Jan Hubicka <jh@suse.cz>
+
+ * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
+ partitioning decisions.
+
2010-05-29 Jan Hubicka <jh@suse.cz>
* lto.c (bitmap vector): Remove.
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 8389be1..5031659 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -636,6 +636,9 @@ promote_var (struct varpool_node *vnode)
gcc_assert (flag_wpa);
TREE_PUBLIC (vnode->decl) = 1;
DECL_VISIBILITY (vnode->decl) = VISIBILITY_HIDDEN;
+ if (cgraph_dump_file)
+ fprintf (cgraph_dump_file,
+ "Promoting var as hidden: %s\n", varpool_node_name (vnode));
return true;
}
@@ -659,6 +662,10 @@ promote_fn (struct cgraph_node *node)
DECL_VISIBILITY (alias->decl) = VISIBILITY_HIDDEN;
}
}
+ if (cgraph_dump_file)
+ fprintf (cgraph_dump_file,
+ "Promoting function as hidden: %s/%i\n",
+ cgraph_node_name (node), node->uid);
return true;
}
@@ -862,6 +869,15 @@ lto_wpa_write_files (void)
if (!quiet_flag)
fprintf (stderr, " %s (%s %i insns)", temp_filename, part->name, part->insns);
+ if (cgraph_dump_file)
+ {
+ fprintf (cgraph_dump_file, "Writting partition %s to file %s, %i insns\n",
+ part->name, temp_filename, part->insns);
+ fprintf (cgraph_dump_file, "cgraph nodes:");
+ dump_cgraph_node_set (cgraph_dump_file, set);
+ fprintf (cgraph_dump_file, "varpool nodes:");
+ dump_varpool_node_set (cgraph_dump_file, vset);
+ }
gcc_assert (cgraph_node_set_nonempty_p (set)
|| varpool_node_set_nonempty_p (vset) || !i);
@@ -1632,6 +1648,12 @@ do_whole_program_analysis (void)
dump_memory_report (false);
}
+ if (cgraph_dump_file)
+ {
+ dump_cgraph (cgraph_dump_file);
+ dump_varpool (cgraph_dump_file);
+ }
+
cgraph_function_flags_ready = true;
bitmap_obstack_initialize (NULL);
ipa_register_cgraph_hooks ();
@@ -1639,6 +1661,12 @@ do_whole_program_analysis (void)
execute_ipa_pass_list (all_regular_ipa_passes);
+ if (cgraph_dump_file)
+ {
+ fprintf (cgraph_dump_file, "Optimized ");
+ dump_cgraph (cgraph_dump_file);
+ dump_varpool (cgraph_dump_file);
+ }
verify_cgraph ();
bitmap_obstack_release (NULL);