Commit e54db24f by Mark Mitchell Committed by Jeff Law

reload.c (find_reloads): Add a REG_LABEL note if we substitute a LABEL_REF for something else.

Mon Mar 15 10:20:20 1999  Mark Mitchell  <mark@markmitchell.com>
        * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
        LABEL_REF for something else.

From-SVN: r25777
parent a4d3481d
Mon Mar 15 10:20:20 1999 Mark Mitchell <mark@markmitchell.com>
* reload.c (find_reloads): Add a REG_LABEL note if we substitute a
LABEL_REF for something else.
Mon Mar 15 08:24:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Mon Mar 15 08:24:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* fold-const.c (exact_real_inverse): Move variable `float_error' * fold-const.c (exact_real_inverse): Move variable `float_error'
......
...@@ -3854,7 +3854,21 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) ...@@ -3854,7 +3854,21 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
reload_{in,out}_reg when we do these replacements. */ reload_{in,out}_reg when we do these replacements. */
if (replace) if (replace)
*recog_operand_loc[i] = substed_operand[i]; {
rtx substitution = substed_operand[i];
*recog_operand_loc[i] = substitution;
/* If we're replacing an operand with a LABEL_REF, we need
to make sure that there's a REG_LABEL note attached to
this instruction. */
if (GET_CODE (insn) != JUMP_INSN
&& GET_CODE (substitution) == LABEL_REF
&& !find_reg_note (insn, REG_LABEL, XEXP (substitution, 0)))
REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL,
XEXP (substitution, 0),
REG_NOTES (insn));
}
else else
retval |= (substed_operand[i] != *recog_operand_loc[i]); retval |= (substed_operand[i] != *recog_operand_loc[i]);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment