aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto/lto-lang.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-10-14 12:06:38 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-10-14 12:06:38 +0000
commit83fd5d110eadec9102981082459e9fa5513b5124 (patch)
tree5851ead175606fe8c897bc8ed1b707d4f2d9d845 /gcc/lto/lto-lang.c
parenta6dbd0f72b75340ceb96ea55ec18c01b6bee4ef2 (diff)
downloadgcc-83fd5d110eadec9102981082459e9fa5513b5124.zip
gcc-83fd5d110eadec9102981082459e9fa5513b5124.tar.gz
gcc-83fd5d110eadec9102981082459e9fa5513b5124.tar.bz2
gimple.c (gimple_canonical_types, [...]): Move to lto/lto.c
2013-10-14 Richard Biener <rguenther@suse.de> * gimple.c (gimple_canonical_types, canonical_type_hash_cache, iterative_hash_canonical_type, gimple_canonical_type_hash, gimple_canonical_types_compatible_p, gimple_canonical_type_eq, gimple_register_canonical_type, print_gimple_types_stats, free_gimple_type_tables): Move to lto/lto.c (gt-gimple.h): Do not include. * gimple.h (gimple_register_canonical_type, print_gimple_types_stats, free_gimple_type_tables): Remove. * Makefile.in (GTFILES): Remove gimple.c. lto/ * lto-lang.c (lto_init): Do not re-init canonical types here. (lto_register_canonical_types): Move to ... * lto.c (lto_register_canonical_types): ... here. (gimple_canonical_types, canonical_type_hash_cache, iterative_hash_canonical_type, gimple_canonical_type_hash, gimple_canonical_types_compatible_p, gimple_canonical_type_eq, gimple_register_canonical_type): Add canonical type merging machinery moved from gimple.c. (read_cgraph_and_symbols): Init and free canonical type tables here. (print_lto_report_1): Report canonical type table stats here. From-SVN: r203521
Diffstat (limited to 'gcc/lto/lto-lang.c')
-rw-r--r--gcc/lto/lto-lang.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
index 79cc560..0fa0fc9 100644
--- a/gcc/lto/lto-lang.c
+++ b/gcc/lto/lto-lang.c
@@ -1134,31 +1134,11 @@ lto_build_c_type_nodes (void)
pid_type_node = integer_type_node;
}
-/* Re-compute TYPE_CANONICAL for NODE and related types. */
-
-static void
-lto_register_canonical_types (tree node)
-{
- if (!node
- || !TYPE_P (node))
- return;
-
- TYPE_CANONICAL (node) = NULL_TREE;
- TYPE_CANONICAL (node) = gimple_register_canonical_type (node);
-
- if (POINTER_TYPE_P (node)
- || TREE_CODE (node) == COMPLEX_TYPE
- || TREE_CODE (node) == ARRAY_TYPE)
- lto_register_canonical_types (TREE_TYPE (node));
-}
-
/* Perform LTO-specific initialization. */
static bool
lto_init (void)
{
- unsigned i;
-
/* We need to generate LTO if running in WPA mode. */
flag_generate_lto = flag_wpa;
@@ -1226,17 +1206,6 @@ lto_init (void)
NAME_TYPE (boolean_type_node, "bool");
#undef NAME_TYPE
- /* Register the common node types with the canonical type machinery so
- we properly share alias-sets across languages and TUs. Do not
- expose the common nodes as type merge target - those that should be
- are already exposed so by pre-loading the LTO streamer caches. */
- for (i = 0; i < itk_none; ++i)
- lto_register_canonical_types (integer_types[i]);
- /* The sizetypes are not used to access data so we do not need to
- do anything about them. */
- for (i = 0; i < TI_MAX; ++i)
- lto_register_canonical_types (global_trees[i]);
-
/* Initialize LTO-specific data structures. */
vec_alloc (lto_global_var_decls, 256);
in_lto_p = true;