diff options
Diffstat (limited to 'gcc/ipa-prop.c')
-rw-r--r-- | gcc/ipa-prop.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index b3e8cfa61dc..6aeca33ca80 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -892,8 +892,8 @@ ipa_compute_jump_functions_for_edge (struct cgraph_edge *cs) if (ipa_get_cs_argument_count (arguments) == 0 || arguments->jump_functions) return; - arguments->jump_functions = GGC_CNEWVEC (struct ipa_jump_func, - ipa_get_cs_argument_count (arguments)); + arguments->jump_functions = ggc_alloc_cleared_vec_ipa_jump_func + (ipa_get_cs_argument_count (arguments)); call = cs->call_stmt; gcc_assert (is_gimple_call (call)); @@ -1696,18 +1696,16 @@ duplicate_array (void *src, size_t n) return p; } -/* Like duplicate_array byt in GGC memory. */ - -static void * -duplicate_ggc_array (void *src, size_t n) +static struct ipa_jump_func * +duplicate_ipa_jump_func_array (const struct ipa_jump_func * src, size_t n) { - void *p; + struct ipa_jump_func *p; if (!src) return NULL; - p = ggc_alloc (n); - memcpy (p, src, n); + p = ggc_alloc_vec_ipa_jump_func (n); + memcpy (p, src, n * sizeof (struct ipa_jump_func)); return p; } @@ -1727,9 +1725,8 @@ ipa_edge_duplication_hook (struct cgraph_edge *src, struct cgraph_edge *dst, arg_count = ipa_get_cs_argument_count (old_args); ipa_set_cs_argument_count (new_args, arg_count); - new_args->jump_functions = (struct ipa_jump_func *) - duplicate_ggc_array (old_args->jump_functions, - sizeof (struct ipa_jump_func) * arg_count); + new_args->jump_functions = + duplicate_ipa_jump_func_array (old_args->jump_functions, arg_count); if (iinlining_processed_edges && bitmap_bit_p (iinlining_processed_edges, src->uid)) @@ -2525,8 +2522,8 @@ ipa_read_node_info (struct lto_input_block *ib, struct cgraph_node *node, if (!count) continue; - args->jump_functions = GGC_CNEWVEC (struct ipa_jump_func, - ipa_get_cs_argument_count (args)); + args->jump_functions = ggc_alloc_cleared_vec_ipa_jump_func + (ipa_get_cs_argument_count (args)); for (k = 0; k < ipa_get_cs_argument_count (args); k++) ipa_read_jump_function (ib, ipa_get_ith_jump_func (args, k), data_in); } |