From-SVN: r38965
This commit is contained in:
Alexandre Oliva 2001-01-12 22:42:08 +00:00
parent f474c6f8f9
commit c6ca5c693e
1 changed files with 1 additions and 55 deletions

View File

@ -1,6 +1,6 @@
/* Move registers around to reduce number of move instructions needed.
Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001 Free Software Foundation, Inc.
1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
@ -1505,17 +1505,6 @@ find_matches (insn, matchp)
int op_no;
int any_matches = 0;
if (GET_CODE (insn) == CALL_INSN
&& CALL_INSN_FUNCTION_USAGE (insn))
{
rtx usage;
for (usage = CALL_INSN_FUNCTION_USAGE (insn);
usage;
usage = XEXP (usage, 1))
find_related (&XEXP (usage, 0), insn, luid, call_tally);
}
extract_insn (insn);
if (! constrain_operands (0))
return 0;
@ -1582,45 +1571,6 @@ find_matches (insn, matchp)
return any_matches;
}
/* Try to replace all occurrences of DST_REG with SRC in LOC, that is
assumed to be in INSN. */
static void
replace_in_call_usage (loc, dst_reg, src, insn)
rtx *loc;
int dst_reg;
rtx src;
rtx insn;
{
rtx x = *loc;
enum rtx_code code;
const char *fmt;
int i, j;
if (! x)
return;
code = GET_CODE (x);
if (code == REG)
{
if (REGNO (x) != dst_reg)
return;
validate_change (insn, loc, src, 1);
return;
}
/* Process each of our operands recursively. */
fmt = GET_RTX_FORMAT (code);
for (i = 0; i < GET_RTX_LENGTH (code); i++, fmt++)
if (*fmt == 'e')
replace_in_call_usage (&XEXP (x, i), dst_reg, src, insn);
else if (*fmt == 'E')
for (j = 0; j < XVECLEN (x, i); j++)
replace_in_call_usage (& XVECEXP (x, i, j), dst_reg, src, insn);
}
/* Try to replace output operand DST in SET, with input operand SRC. SET is
the only set in INSN. INSN has just been recognized and constrained.
SRC is operand number OPERAND_NUMBER in INSN.
@ -1693,10 +1643,6 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
for (length = s_length = 0, p = NEXT_INSN (insn); p; p = NEXT_INSN (p))
{
if (GET_CODE (p) == CALL_INSN)
replace_in_call_usage (& CALL_INSN_FUNCTION_USAGE (p),
REGNO (dst), src, p);
/* ??? We can't scan past the end of a basic block without updating
the register lifetime info (REG_DEAD/basic_block_live_at_start). */
if (perhaps_ends_bb_p (p))