summaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index d148853143b..9de3e51c673 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -1488,9 +1488,9 @@ estimated_stack_frame_size (struct cgraph_node *node)
tree var;
tree old_cur_fun_decl = current_function_decl;
referenced_var_iterator rvi;
- struct function *fn = DECL_STRUCT_FUNCTION (node->decl);
+ struct function *fn = DECL_STRUCT_FUNCTION (node->symbol.decl);
- current_function_decl = node->decl;
+ current_function_decl = node->symbol.decl;
push_cfun (fn);
gcc_checking_assert (gimple_referenced_vars (fn));
@@ -4555,7 +4555,11 @@ gimple_expand_cfg (void)
if (MAY_HAVE_DEBUG_INSNS)
expand_debug_locations ();
- execute_free_datastructures ();
+ /* Free stuff we no longer need after GIMPLE optimizations. */
+ free_dominance_info (CDI_DOMINATORS);
+ free_dominance_info (CDI_POST_DOMINATORS);
+ delete_tree_cfg_annotations ();
+
timevar_push (TV_OUT_OF_SSA);
finish_out_of_ssa (&SA);
timevar_pop (TV_OUT_OF_SSA);