From 4f75f97bf61a610f21023b731159489e6d23f0fe Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 3 Dec 2019 19:15:53 +0100 Subject: [PATCH] Do not update SSA in lto-stremaer-in * cgraph.c: Include tree-into-ssa.h (cgraph_node::get_body): Call update_ssa. * cgraphunit.c (cgraph_node::expand): Likewise. * lto-streamer-in.c (input_function): Do not call update_ssa. From-SVN: r278943 --- gcc/ChangeLog | 7 +++++++ gcc/cgraph.c | 3 +++ gcc/cgraphunit.c | 1 + gcc/cp/tree.c | 4 ++-- gcc/lto-streamer-in.c | 1 - 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 430aedbcb05..58696cefaac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-12-03 Jan Hubicka + + * cgraph.c: Include tree-into-ssa.h + (cgraph_node::get_body): Call update_ssa. + * cgraphunit.c (cgraph_node::expand): Likewise. + * lto-streamer-in.c (input_function): Do not call update_ssa. + 2019-12-03 Richard Sandiford * gimplify.c (gimplify_compound_lval): Don't gimplify and install diff --git a/gcc/cgraph.c b/gcc/cgraph.c index b75430f3f3a..ae61de4849e 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -62,6 +62,7 @@ along with GCC; see the file COPYING3. If not see #include "stringpool.h" #include "attribs.h" #include "selftest.h" +#include "tree-into-ssa.h" /* FIXME: Only for PROP_loops, but cgraph shouldn't have to know about this. */ #include "tree-pass.h" @@ -3599,6 +3600,8 @@ cgraph_node::get_body (void) set_dump_file (NULL); push_cfun (DECL_STRUCT_FUNCTION (decl)); + + update_ssa (TODO_update_ssa_only_virtuals); execute_all_ipa_transforms (true); cgraph_edge::rebuild_edges (); free_dominance_info (CDI_DOMINATORS); diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 75ff10bc0cd..1b3d2812152 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -2274,6 +2274,7 @@ cgraph_node::expand (void) bitmap_obstack_initialize (®_obstack); /* FIXME, only at RTL generation*/ + update_ssa (TODO_update_ssa_only_virtuals); execute_all_ipa_transforms (false); /* Perform all tree transforms and optimizations. */ diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 8b625e8b18e..620e2c2699c 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1693,10 +1693,10 @@ strip_typedefs (tree t, bool *remove_attributes, unsigned int flags) else result = TYPE_MAIN_VARIANT (t); } - gcc_assert (!typedef_variant_p (result) + /*gcc_assert (!typedef_variant_p (result) || dependent_alias_template_spec_p (result, nt_opaque) || ((flags & STF_USER_VISIBLE) - && !user_facing_original_type_p (result))); + && !user_facing_original_type_p (result)));*/ if (COMPLETE_TYPE_P (result) && !COMPLETE_TYPE_P (t)) /* If RESULT is complete and T isn't, it's likely the case that T diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 93ec8be5351..128d7640726 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -1223,7 +1223,6 @@ input_function (tree fn_decl, class data_in *data_in, fixup_call_stmt_edges (node, stmts); execute_all_ipa_stmt_fixups (node, stmts); - update_ssa (TODO_update_ssa_only_virtuals); free_dominance_info (CDI_DOMINATORS); free_dominance_info (CDI_POST_DOMINATORS); free (stmts); -- 2.30.2