diff options
Diffstat (limited to 'gcc/dse.c')
-rw-r--r-- | gcc/dse.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/dse.c b/gcc/dse.c index 2be8a942c75..98861f11044 100644 --- a/gcc/dse.c +++ b/gcc/dse.c @@ -2326,7 +2326,8 @@ get_call_args (rtx call_insn, tree fn, rtx *args, int nargs) arg = TREE_CHAIN (arg), idx++) { enum machine_mode mode = TYPE_MODE (TREE_VALUE (arg)); - rtx reg = FUNCTION_ARG (args_so_far, mode, NULL_TREE, 1), link, tmp; + rtx reg, link, tmp; + reg = targetm.calls.function_arg (&args_so_far, mode, NULL_TREE, true); if (!reg || !REG_P (reg) || GET_MODE (reg) != mode || GET_MODE_CLASS (mode) != MODE_INT) return false; @@ -2360,7 +2361,7 @@ get_call_args (rtx call_insn, tree fn, rtx *args, int nargs) if (tmp) args[idx] = tmp; - FUNCTION_ARG_ADVANCE (args_so_far, mode, NULL_TREE, 1); + targetm.calls.function_arg_advance (&args_so_far, mode, NULL_TREE, true); } if (arg != void_list_node || idx != nargs) return false; @@ -3396,7 +3397,7 @@ dse_confluence_0 (basic_block bb) out set of the src of E. If the various in or out sets are not there, that means they are all ones. */ -static void +static bool dse_confluence_n (edge e) { bb_info_t src_info = bb_table[e->src->index]; @@ -3412,6 +3413,7 @@ dse_confluence_n (edge e) bitmap_copy (src_info->out, dest_info->in); } } + return true; } |