entered into RCS
From-SVN: r1731
This commit is contained in:
parent
510dd77e95
commit
58c8c59349
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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:
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user