From 27736735f6fcba464b90c3a9dff13b7e5c8bdc6e Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Wed, 5 Feb 2020 09:56:31 +0100 Subject: [PATCH] Do not load body for alias symbols. PR lto/93489 * lto-dump.c (dump_list_functions): Do not load body for aliases. (dump_body): Likewise here. --- gcc/lto/ChangeLog | 7 +++++++ gcc/lto/lto-dump.c | 22 ++++++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 2b930cb33df..1e5bab6594b 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,10 @@ +2020-02-05 Martin Liska + + PR lto/93489 + * lto-dump.c (dump_list_functions): Do not + load body for aliases. + (dump_body): Likewise here. + 2020-01-16 Martin Liska * lto-partition.c (lto_balanced_map): Remember diff --git a/gcc/lto/lto-dump.c b/gcc/lto/lto-dump.c index 2983c22fdd5..96e26d9e81c 100644 --- a/gcc/lto/lto-dump.c +++ b/gcc/lto/lto-dump.c @@ -122,7 +122,7 @@ public: cgraph_node *cnode = dyn_cast (node); gcc_assert (cnode); - return (cnode->definition) + return (cnode->definition && !cnode->alias) ? n_basic_blocks_for_fn (DECL_STRUCT_FUNCTION (cnode->decl)) : 0; } @@ -157,10 +157,10 @@ void dump_list_functions (void) cgraph_node *cnode; FOR_EACH_FUNCTION (cnode) { - if (cnode->definition) + if (cnode->definition && !cnode->alias) cnode->get_untransformed_body (); symbol_entry *e = new function_entry (cnode); - if (!flag_lto_dump_defined || cnode->definition) + if (!flag_lto_dump_defined || (cnode->definition && !cnode->alias)) v.safe_push (e); } @@ -260,13 +260,15 @@ void dump_body () } cgraph_node *cnode; FOR_EACH_FUNCTION (cnode) - if (cnode->definition && !strcmp (cnode->name (), flag_dump_body)) - { - printf ("Gimple Body of Function: %s\n", cnode->name ()); - cnode->get_untransformed_body (); - debug_function (cnode->decl, flags); - flag = 1; - } + if (cnode->definition + && !cnode->alias + && !strcmp (cnode->name (), flag_dump_body)) + { + printf ("Gimple Body of Function: %s\n", cnode->name ()); + cnode->get_untransformed_body (); + debug_function (cnode->decl, flags); + flag = 1; + } if (!flag) error_at (input_location, "Function not found."); return; -- 2.30.2