summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2019-10-27 09:06:23 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2019-10-27 08:06:23 +0000
commitb1e655646f5b0be3d146825c130690078a8601c3 (patch)
tree83665a0248d0244b4d28506ff004bb38fa62f837
parent64a3a966982164d28a5778d186c87f025236405b (diff)
ipa-icf.c (sem_function::merge): Update function summaries.
* ipa-icf.c (sem_function::merge): Update function summaries. * ipa-prop.h (ipa_get_param): Do not sanity check for WPA. From-SVN: r277482
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa-icf.c3
-rw-r--r--gcc/ipa-prop.h1
3 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b61b07aac1a..8a9131149a1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-10-27 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-icf.c (sem_function::merge): Update function summaries.
+ * ipa-prop.h (ipa_get_param): Do not sanity check for WPA.
+
2019-10-27 Hongtao Liu <hongtao.liu@intel.com>
* config/i386/sse.md (*<sse>_vm<plusminus_insn><mode>3,
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index bcfed2b0868..066288d04ba 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -1266,6 +1266,7 @@ sem_function::merge (sem_item *alias_item)
/* Remove the function's body. */
ipa_merge_profiles (original, alias);
+ symtab->call_cgraph_removal_hooks (alias);
alias->release_body (true);
alias->reset ();
/* Notice global symbol possibly produced RTL. */
@@ -1287,11 +1288,13 @@ sem_function::merge (sem_item *alias_item)
{
gcc_assert (!create_alias);
alias->icf_merged = true;
+ symtab->call_cgraph_removal_hooks (alias);
local_original->icf_merged = true;
/* FIXME update local_original counts. */
ipa_merge_profiles (original, alias, true);
alias->create_wrapper (local_original);
+ symtab->call_cgraph_insertion_hooks (alias);
if (dump_enabled_p ())
dump_printf (MSG_OPTIMIZED_LOCATIONS,
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h
index 24a69c18f6e..aba996fba94 100644
--- a/gcc/ipa-prop.h
+++ b/gcc/ipa-prop.h
@@ -457,7 +457,6 @@ static inline tree
ipa_get_param (class ipa_node_params *info, int i)
{
gcc_checking_assert (info->descriptors);
- gcc_checking_assert (!flag_wpa);
tree t = (*info->descriptors)[i].decl_or_type;
gcc_checking_assert (TREE_CODE (t) == PARM_DECL);
return t;