re PR lto/91763 (go.go-torture/execute/printnil.go FAILs)

2019-09-18  Richard Biener  <rguenther@suse.de>

	PR lto/91763
	* lto-streamer-in.c (input_eh_regions): Move EH init to
	lto_materialize_function.
	* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers):
	Likewise.

	lto/
	* lto.c (lto_materialize_function): Initialize EH by looking
	at the function personality and flag_exceptions setting.

From-SVN: r275872
This commit is contained in:
Richard Biener 2019-09-18 11:28:20 +00:00 committed by Richard Biener
parent 01b57ebf58
commit a3d0946904
5 changed files with 20 additions and 11 deletions

View File

@ -1,3 +1,11 @@
2019-09-18 Richard Biener <rguenther@suse.de>
PR lto/91763
* lto-streamer-in.c (input_eh_regions): Move EH init to
lto_materialize_function.
* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers):
Likewise.
2019-09-18 Richard Sandiford <richard.sandiford@arm.com>
* tree-ssa-ccp.c (get_value_for_expr): Check whether CONSTANTs

View File

@ -615,11 +615,6 @@ input_eh_regions (class lto_input_block *ib, class data_in *data_in,
lto_tag_check_range (tag, LTO_eh_table, LTO_eh_table);
/* If the file contains EH regions, then it was compiled with
-fexceptions. In that case, initialize the backend EH
machinery. */
lto_init_eh ();
gcc_assert (fn->eh);
root_region = streamer_read_hwi (ib);

View File

@ -1,3 +1,9 @@
2019-09-18 Richard Biener <rguenther@suse.de>
PR lto/91763
* lto.c (lto_materialize_function): Initialize EH by looking
at the function personality and flag_exceptions setting.
2019-08-23 Jakub Jelinek <jakub@redhat.com>
PR middle-end/91283

View File

@ -107,6 +107,12 @@ lto_materialize_function (struct cgraph_node *node)
return;
if (DECL_FUNCTION_PERSONALITY (decl) && !first_personality_decl)
first_personality_decl = DECL_FUNCTION_PERSONALITY (decl);
/* If the file contains a function with a language specific EH
personality set or with EH enabled initialize the backend EH
machinery. */
if (DECL_FUNCTION_PERSONALITY (decl)
|| opt_for_fn (decl, flag_exceptions))
lto_init_eh ();
}
/* Let the middle end know about the function. */

View File

@ -802,12 +802,6 @@ lto_input_ts_function_decl_tree_pointers (class lto_input_block *ib,
}
}
#endif
/* If the file contains a function with an EH personality set,
then it was compiled with -fexceptions. In that case, initialize
the backend EH machinery. */
if (DECL_FUNCTION_PERSONALITY (expr))
lto_init_eh ();
}