The size_info of ipa_size_summary are created by r277424. It should be
duplicated for cloned nodes, otherwise self_size and estimated_self_stack_size
would be 0, causing param large-function-insns and large-function-growth working
inaccurate when ipa-inline.
gcc/ChangeLog:
2019-12-18 Luo Xiong Hu <[email protected]>
* ipa-fnsummary.c (ipa_fn_summary_t::duplicate): Copy
ipa_size_summary for cloned nodes.
---
gcc/ipa-fnsummary.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/gcc/ipa-fnsummary.c b/gcc/ipa-fnsummary.c
index a46b1445765..9a01be1708b 100644
--- a/gcc/ipa-fnsummary.c
+++ b/gcc/ipa-fnsummary.c
@@ -868,7 +868,12 @@ ipa_fn_summary_t::duplicate (cgraph_node *src,
}
}
if (!dst->inlined_to)
+ {
+ class ipa_size_summary *src_size = ipa_size_summaries->get_create (src);
+ class ipa_size_summary *dst_size = ipa_size_summaries->get_create (dst);
+ *dst_size = *src_size;
ipa_update_overall_fn_summary (dst);
+ }
}
--
2.21.0.777.g83232e3864