entered into RCS

From-SVN: r1731
This commit is contained in:
Richard Kenner 1992-07-31 08:13:38 -04:00
parent 510dd77e95
commit 58c8c59349
6 changed files with 34 additions and 11 deletions

View File

@ -65,6 +65,8 @@ static int keyword_parsing = 0;
/* some external tables of character types */
extern unsigned char is_idstart[], is_idchar[], is_hor_space[];
extern char *xmalloc ();
/* Flag for -pedantic. */
extern int pedantic;

View File

@ -1886,14 +1886,32 @@ try_combine (i3, i2, i1)
distribute_notes (gen_rtx (EXPR_LIST, REG_DEAD, i3dest_killed, NULL_RTX),
NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
NULL_RTX, NULL_RTX);
/* For I2 and I1, we have to be careful. If NEWI2PAT exists and sets
I2DEST or I1DEST, the death must be somewhere before I2, not I3. If
we passed I3 in that case, it might delete I2. */
if (i2dest_in_i2src)
distribute_notes (gen_rtx (EXPR_LIST, REG_DEAD, i2dest, NULL_RTX),
NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
NULL_RTX, NULL_RTX);
{
if (newi2pat && reg_set_p (i2dest, newi2pat))
distribute_notes (gen_rtx (EXPR_LIST, 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),
NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
NULL_RTX, NULL_RTX);
}
if (i1dest_in_i1src)
distribute_notes (gen_rtx (EXPR_LIST, REG_DEAD, i1dest, NULL_RTX),
NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
NULL_RTX, NULL_RTX);
{
if (newi2pat && reg_set_p (i1dest, newi2pat))
distribute_notes (gen_rtx (EXPR_LIST, 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),
NULL_RTX, i3, newi2pat ? i2 : NULL_RTX,
NULL_RTX, NULL_RTX);
}
distribute_links (i3links);
distribute_links (i2links);

View File

@ -1998,7 +1998,7 @@ exp_equiv_p (x, y, validate, equal_values)
return x == y;
case CONST_INT:
return XINT (x, 0) == XINT (y, 0);
return INTVAL (x) == INTVAL (y);
case LABEL_REF:
case SYMBOL_REF:

View File

@ -4153,9 +4153,10 @@ find_reloads_address_1 (x, context, loc, operand, ind_levels)
if (reg_equiv_constant[regno] != 0)
{
push_reload (reg_equiv_constant[regno], NULL_RTX, loc, NULL_PTR,
context ? INDEX_REG_CLASS : BASE_REG_CLASS,
GET_MODE (x), VOIDmode, 0, 0, operand);
find_reloads_address_part (reg_equiv_constant[regno], loc,
(context ? INDEX_REG_CLASS
: BASE_REG_CLASS),
GET_MODE (x), operand, ind_levels);
return 1;
}

View File

@ -5673,8 +5673,8 @@ gen_input_reload (reloadreg, in, before_insn)
if (GET_MODE (loc) != GET_MODE (in))
in = gen_rtx (REG, GET_MODE (loc), REGNO (in));
emit_insn_before (gen_move_insn (reloadreg, loc), before_insn);
emit_insn_before (gen_move_insn (loc, in), before_insn);
emit_insn_before (gen_move_insn (reloadreg, loc), before_insn);
}
#endif

View File

@ -1110,6 +1110,8 @@ get_branch_condition (insn, target)
return gen_rtx (reverse_condition (GET_CODE (XEXP (src, 0))),
GET_MODE (XEXP (src, 0)),
XEXP (XEXP (src, 0), 0), XEXP (XEXP (src, 0), 1));
return 0;
}
/* Return non-zero if CONDITION is more strict than the condition of