diff options
author | Richard Guenther <rguenther@suse.de> | 2011-05-02 11:12:26 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-05-02 11:12:26 +0000 |
commit | f070a9d10839a9580c48d4880457719418e67492 (patch) | |
tree | 324bf0bbe73902a540d1ead9830393415b981925 | |
parent | 65bdd626be50b5af2a7e984bf2c6de9d42728db7 (diff) | |
download | gcc-f070a9d10839a9580c48d4880457719418e67492.zip gcc-f070a9d10839a9580c48d4880457719418e67492.tar.gz gcc-f070a9d10839a9580c48d4880457719418e67492.tar.bz2 |
tree.c (tree_code_counts): New global array.
2011-05-02 Richard Guenther <rguenther@suse.de>
* tree.c (tree_code_counts): New global array.
(record_node_allocation_statistics): Count individual tree codes.
(dump_tree_statistics): Dump individual code stats.
From-SVN: r173244
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree.c | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ffdef91..5a89d63 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-05-02 Richard Guenther <rguenther@suse.de> + + * tree.c (tree_code_counts): New global array. + (record_node_allocation_statistics): Count individual tree codes. + (dump_tree_statistics): Dump individual code stats. + 2011-05-01 Jan Hubicka <jh@suse.cz> * ipa-inline.c (caller_growth_limits): Fix thinko when @@ -124,6 +124,7 @@ extern int _obstack_allocated_p (struct obstack *h, void *obj); #ifdef GATHER_STATISTICS /* Statistics-gathering stuff. */ +static int tree_code_counts[MAX_TREE_CODES]; int tree_node_counts[(int) all_kinds]; int tree_node_sizes[(int) all_kinds]; @@ -809,6 +810,7 @@ record_node_allocation_statistics (enum tree_code code ATTRIBUTE_UNUSED, gcc_unreachable (); } + tree_code_counts[(int) code]++; tree_node_counts[(int) kind]++; tree_node_sizes[(int) kind] += length; #endif @@ -6188,6 +6190,7 @@ type_hash_canon (unsigned int hashcode, tree type) if (t1 != 0) { #ifdef GATHER_STATISTICS + tree_code_counts[(int) TREE_CODE (type)]--; tree_node_counts[(int) t_kind]--; tree_node_sizes[(int) t_kind] -= sizeof (struct tree_type); #endif @@ -8497,6 +8500,11 @@ dump_tree_statistics (void) fprintf (stderr, "---------------------------------------\n"); fprintf (stderr, "%-20s %7d %10d\n", "Total", total_nodes, total_bytes); fprintf (stderr, "---------------------------------------\n"); + fprintf (stderr, "Code Nodes\n"); + fprintf (stderr, "----------------------------\n"); + for (i = 0; i < (int) MAX_TREE_CODES; i++) + fprintf (stderr, "%-20s %7d\n", tree_code_name[i], tree_code_counts[i]); + fprintf (stderr, "----------------------------\n"); ssanames_print_statistics (); phinodes_print_statistics (); #else |