diff options
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 80187347aed..b070ee1c2ab 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -3643,12 +3643,12 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p) if (i3dest_killed) { if (newi2pat && reg_set_p (i3dest_killed, newi2pat)) - distribute_notes (gen_rtx_EXPR_LIST (REG_DEAD, i3dest_killed, - NULL_RTX), + distribute_notes (alloc_reg_note (REG_DEAD, i3dest_killed, + NULL_RTX), NULL_RTX, i2, NULL_RTX, elim_i2, elim_i1); else - distribute_notes (gen_rtx_EXPR_LIST (REG_DEAD, i3dest_killed, - NULL_RTX), + distribute_notes (alloc_reg_note (REG_DEAD, i3dest_killed, + NULL_RTX), NULL_RTX, i3, newi2pat ? i2 : NULL_RTX, elim_i2, elim_i1); } @@ -3656,10 +3656,10 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p) if (i2dest_in_i2src) { if (newi2pat && reg_set_p (i2dest, newi2pat)) - distribute_notes (gen_rtx_EXPR_LIST (REG_DEAD, i2dest, NULL_RTX), + distribute_notes (alloc_reg_note (REG_DEAD, i2dest, NULL_RTX), NULL_RTX, i2, NULL_RTX, NULL_RTX, NULL_RTX); else - distribute_notes (gen_rtx_EXPR_LIST (REG_DEAD, i2dest, NULL_RTX), + distribute_notes (alloc_reg_note (REG_DEAD, i2dest, NULL_RTX), NULL_RTX, i3, newi2pat ? i2 : NULL_RTX, NULL_RTX, NULL_RTX); } @@ -3667,10 +3667,10 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p) if (i1dest_in_i1src) { if (newi2pat && reg_set_p (i1dest, newi2pat)) - distribute_notes (gen_rtx_EXPR_LIST (REG_DEAD, i1dest, NULL_RTX), + distribute_notes (alloc_reg_note (REG_DEAD, i1dest, NULL_RTX), NULL_RTX, i2, NULL_RTX, NULL_RTX, NULL_RTX); else - distribute_notes (gen_rtx_EXPR_LIST (REG_DEAD, i1dest, NULL_RTX), + distribute_notes (alloc_reg_note (REG_DEAD, i1dest, NULL_RTX), NULL_RTX, i3, newi2pat ? i2 : NULL_RTX, NULL_RTX, NULL_RTX); } @@ -9863,8 +9863,8 @@ recog_for_combine (rtx *pnewpat, rtx insn, rtx *pnotes) if (GET_CODE (XEXP (XVECEXP (newpat, 0, i), 0)) != SCRATCH) { gcc_assert (REG_P (XEXP (XVECEXP (newpat, 0, i), 0))); - notes = gen_rtx_EXPR_LIST (REG_UNUSED, - XEXP (XVECEXP (newpat, 0, i), 0), notes); + notes = alloc_reg_note (REG_UNUSED, + XEXP (XVECEXP (newpat, 0, i), 0), notes); } } pat = newpat; @@ -12231,7 +12231,7 @@ move_deaths (rtx x, rtx maybe_kill_insn, int from_luid, rtx to_insn, *pnotes = note; } else - *pnotes = gen_rtx_EXPR_LIST (REG_DEAD, x, *pnotes); + *pnotes = alloc_reg_note (REG_DEAD, x, *pnotes); } return; @@ -12800,8 +12800,8 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2, rtx elim_i2, && ! reg_bitfield_target_p (piece, PATTERN (place))) { - rtx new_note - = gen_rtx_EXPR_LIST (REG_DEAD, piece, NULL_RTX); + rtx new_note = alloc_reg_note (REG_DEAD, piece, + NULL_RTX); distribute_notes (new_note, place, place, NULL_RTX, NULL_RTX, NULL_RTX); @@ -12848,9 +12848,7 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2, rtx elim_i2, } if (place2) - REG_NOTES (place2) - = gen_rtx_fmt_ee (GET_CODE (note), REG_NOTE_KIND (note), - XEXP (note, 0), REG_NOTES (place2)); + add_reg_note (place2, REG_NOTE_KIND (note), XEXP (note, 0)); } } @@ -13046,4 +13044,3 @@ struct rtl_opt_pass pass_combine = TODO_ggc_collect, /* todo_flags_finish */ } }; - |