diff options
author | Richard Biener <rguenther@suse.de> | 2018-01-15 08:57:28 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-01-15 08:57:28 +0000 |
commit | 2aa89839f557b7467704ddffa4dc43a130e8d027 (patch) | |
tree | a99b33d1bcb9e41f26e0dd07602f589777237722 /gcc/tree-pretty-print.c | |
parent | a55e8b53d059fbe33c5f016d8d9aca9731322ab7 (diff) | |
download | gcc-2aa89839f557b7467704ddffa4dc43a130e8d027.zip gcc-2aa89839f557b7467704ddffa4dc43a130e8d027.tar.gz gcc-2aa89839f557b7467704ddffa4dc43a130e8d027.tar.bz2 |
re PR lto/83804 ([meta] LTO memory consumption)
2018-01-15 Richard Biener <rguenther@suse.de>
PR lto/83804
* tree.c (free_lang_data_in_type): Always unlink TYPE_DECLs
from TYPE_FIELDS. Free TYPE_BINFO if not used by devirtualization.
Reset type names to their identifier if their TYPE_DECL doesn't
have linkage (and thus is used for ODR and devirt).
(save_debug_info_for_decl): Remove.
(save_debug_info_for_type): Likewise.
(add_tree_to_fld_list): Adjust.
* tree-pretty-print.c (dump_generic_node): Make dumping of
type names more robust.
From-SVN: r256685
Diffstat (limited to 'gcc/tree-pretty-print.c')
-rw-r--r-- | gcc/tree-pretty-print.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c index c6cd65f..54a8dfa 100644 --- a/gcc/tree-pretty-print.c +++ b/gcc/tree-pretty-print.c @@ -1412,8 +1412,8 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, dump_flags_t flags, pp_space (pp); pp_left_paren (pp); pp_string (pp, str); - if (TYPE_NAME (node) && DECL_NAME (TYPE_NAME (node))) - dump_decl_name (pp, TYPE_NAME (node), flags); + if (TYPE_IDENTIFIER (node)) + dump_generic_node (pp, TYPE_NAME (node), spc, flags, false); else if (flags & TDF_NOUID) pp_printf (pp, "<Txxxx>"); else @@ -1816,8 +1816,8 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, dump_flags_t flags, if (TREE_CODE (node) == METHOD_TYPE) { if (TYPE_METHOD_BASETYPE (node)) - dump_decl_name (pp, TYPE_NAME (TYPE_METHOD_BASETYPE (node)), - flags); + dump_generic_node (pp, TYPE_NAME (TYPE_METHOD_BASETYPE (node)), + spc, flags, false); else pp_string (pp, "<null method basetype>"); pp_colon_colon (pp); |