diff options
Diffstat (limited to 'gcc/ipa-param-manipulation.c')
-rw-r--r-- | gcc/ipa-param-manipulation.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ipa-param-manipulation.c b/gcc/ipa-param-manipulation.c index 438f4bd..2bbea21 100644 --- a/gcc/ipa-param-manipulation.c +++ b/gcc/ipa-param-manipulation.c @@ -40,6 +40,9 @@ along with GCC; see the file COPYING3. If not see #include "builtins.h" #include "tree-ssa.h" #include "tree-inline.h" +#include "alloc-pool.h" +#include "symbol-summary.h" +#include "symtab-clones.h" /* Actual prefixes of different newly synthetized parameters. Keep in sync @@ -1072,7 +1075,8 @@ ipa_param_body_adjustments::common_initialization (tree old_fndecl, ipa_param_performed_split ps; ps.dummy_decl = dummy_decl; ps.unit_offset = apm->unit_offset; - vec_safe_push (m_id->dst_node->clone.performed_splits, ps); + vec_safe_push (clone_info::get_create + (m_id->dst_node)->performed_splits, ps); } else register_replacement (apm, new_parm); @@ -1131,11 +1135,11 @@ ipa_param_body_adjustments::common_initialization (tree old_fndecl, when they were in fact replaced by a constant. */ auto_vec <int, 16> index_mapping; bool need_remap = false; + clone_info *info = clone_info::get (m_id->src_node); - if (m_id && m_id->src_node->clone.param_adjustments) + if (m_id && info && info->param_adjustments) { - ipa_param_adjustments *prev_adjustments - = m_id->src_node->clone.param_adjustments; + ipa_param_adjustments *prev_adjustments = info->param_adjustments; prev_adjustments->get_updated_indices (&index_mapping); need_remap = true; } |