aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-pure-const.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2017-12-20 20:41:38 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-12-20 20:41:38 +0100
commit442db27632e461ace26b61e968dfd8e7ab085e38 (patch)
tree1ea9330f0c107d992164ebdf556f86e90bdcccd7 /gcc/ipa-pure-const.c
parent76a2bcdcd82326736301cba35250bb1a7fa841c1 (diff)
downloadgcc-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.c4
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;
}