diff --git a/gcc/ipa-cp.cc b/gcc/ipa-cp.cc index f0feb4beb8f6931c686c55734796c7cb542b54eb..d5230c7c5e6b150f7ac9e1a1445178239dc67c39 100644 --- a/gcc/ipa-cp.cc +++ b/gcc/ipa-cp.cc @@ -5785,7 +5785,8 @@ push_agg_values_from_edge (struct cgraph_edge *cs, } ipcp_param_lattices *plats = ipa_get_parm_lattices (dest_info, index); - if (plats->aggs_bottom) + if (!ipa_is_param_used (dest_info, index) + || plats->aggs_bottom) continue; push_agg_values_for_index_from_edge (cs, index, res, optimize_self_recursion ? interim @@ -6151,6 +6152,9 @@ decide_whether_version_node (struct cgraph_node *node) for (i = 0; i < count;i++) { + if (!ipa_is_param_used (info, i)) + continue; + class ipcp_param_lattices *plats = ipa_get_parm_lattices (info, i); ipcp_lattice<tree> *lat = &plats->itself; ipcp_lattice<ipa_polymorphic_call_context> *ctxlat = &plats->ctxlat;