rtl.texi (RTX_FRAME_RELATED_P): Add documentation.

d
Thu Mar 25 14:04:54 EST 1999  Andrew MacLeod  <amacleod@cygnus.com>
	* rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
	* rtl.h (struct rtx_def): Update comment for frame_related field.
	(set_unique_reg_note): Declare prototype.
	* dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
	'dwarf2out_frame_debug' to handle only expressions, and process
	component parts of a PARALLEL expression.
	(dwarf2out_frame_debug): Process insns only, and call
	new function 'dwarf2out_frame_debug_expr' for patterns.
	* emit-rtl.c (set_unique_reg_note): New function to add a reg note,
	but if there is an existingone, deletes it first.
	* expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
	* optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
	(emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
	(expand_fix):  Use set_unique_reg_note.

From-SVN: r25979
This commit is contained in:
Andrew Macleod 1999-03-25 12:04:25 +00:00
parent 87b47c855d
commit 7e5bda2c38

View File

@ -2473,10 +2473,10 @@ expand_mult (mode, op0, op1, target, unsignedp)
multiplication sequences. */
insn = get_last_insn ();
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_EQUAL,
gen_rtx_MULT (mode, op0, GEN_INT (val_so_far)),
REG_NOTES (insn));
set_unique_reg_note (insn,
REG_EQUAL,
gen_rtx_MULT (mode, op0,
GEN_INT (val_so_far)));
}
if (variant == negate_variant)
@ -3170,10 +3170,9 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
if (insn != last
&& (set = single_set (insn)) != 0
&& SET_DEST (set) == quotient)
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_EQUAL,
gen_rtx_UDIV (compute_mode, op0, op1),
REG_NOTES (insn));
set_unique_reg_note (insn,
REG_EQUAL,
gen_rtx_UDIV (compute_mode, op0, op1));
}
else /* TRUNC_DIV, signed */
{
@ -3247,12 +3246,11 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
if (insn != last
&& (set = single_set (insn)) != 0
&& SET_DEST (set) == quotient)
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_EQUAL,
gen_rtx_DIV (compute_mode,
op0,
GEN_INT (abs_d)),
REG_NOTES (insn));
set_unique_reg_note (insn,
REG_EQUAL,
gen_rtx_DIV (compute_mode,
op0,
GEN_INT (abs_d)));
quotient = expand_unop (compute_mode, neg_optab,
quotient, quotient, 0);
@ -3317,10 +3315,9 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
if (insn != last
&& (set = single_set (insn)) != 0
&& SET_DEST (set) == quotient)
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_EQUAL,
gen_rtx_DIV (compute_mode, op0, op1),
REG_NOTES (insn));
set_unique_reg_note (insn,
REG_EQUAL,
gen_rtx_DIV (compute_mode, op0, op1));
}
break;
}
@ -3733,12 +3730,11 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
NULL_RTX, unsignedp);
insn = get_last_insn ();
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_EQUAL,
gen_rtx_fmt_ee (unsignedp ? UDIV : DIV,
compute_mode,
op0, op1),
REG_NOTES (insn));
set_unique_reg_note (insn,
REG_EQUAL,
gen_rtx_fmt_ee (unsignedp ? UDIV : DIV,
compute_mode,
op0, op1));
}
break;