diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-12-20 20:41:38 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-12-20 20:41:38 +0100 |
commit | 442db27632e461ace26b61e968dfd8e7ab085e38 (patch) | |
tree | 1ea9330f0c107d992164ebdf556f86e90bdcccd7 /gcc/ipa-pure-const.c | |
parent | 76a2bcdcd82326736301cba35250bb1a7fa841c1 (diff) | |
download | gcc-442db27632e461ace26b61e968dfd8e7ab085e38.zip gcc-442db27632e461ace26b61e968dfd8e7ab085e38.tar.gz gcc-442db27632e461ace26b61e968dfd8e7ab085e38.tar.bz2 |
re PR ipa/83506 (ICE: Segmentation fault in force_nonfallthru_and_redirect)
PR ipa/83506
* ipa-fnsummary.c (pass_data_ipa_free_fn_summary): Use 0 for
todo_flags_finish.
(pass_ipa_free_fn_summary): Add small_p private data member,
initialize to false in the ctor.
(pass_ipa_free_fn_summary::clone,
pass_ipa_free_fn_summary::set_pass_param,
pass_ipa_free_fn_summary::gate): New methods.
(pass_ipa_free_fn_summary::execute): Return TODO_remove_functions
| TODO_dump_symtab if small_p.
* passes.def: Add true parm for the existing pass_ipa_free_fn_summary
entry and add another instance of the pass with false parm after
ipa-pure-const.
* ipa-pure-const.c (pass_ipa_pure_const): Don't call
ipa_free_fn_summary here.
* gcc.dg/pr83506.c: New test.
* gcc.dg/ipa/ctor-empty-1.c: Use -fdump-ipa-free-fnsummary1 instead
of -fdump-ipa-free-fnsummary and scan in free-fnsummary1 instead of
free-fnsummary dump.
From-SVN: r255901
Diffstat (limited to 'gcc/ipa-pure-const.c')
-rw-r--r-- | gcc/ipa-pure-const.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c index 22f92fc..09ca359 100644 --- a/gcc/ipa-pure-const.c +++ b/gcc/ipa-pure-const.c @@ -2013,10 +2013,6 @@ execute (function *) if (has_function_state (node)) free (get_function_state (node)); funct_state_vec.release (); - - /* In WPA we use inline summaries for partitioning process. */ - if (!flag_wpa) - ipa_free_fn_summary (); return remove_p ? TODO_remove_functions : 0; } |