mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-15 17:41:05 +08:00
Eliminate broken unused function.
* rtl.h (reg_set_last): Delete declaration. * rtlanal.c (reg_set_last): Delete. From-SVN: r80879
This commit is contained in:
parent
e419fe91e5
commit
a1bac22c43
@ -1,3 +1,8 @@
|
||||
2004-04-19 James E Wilson <wilson@specifixinc.com>
|
||||
|
||||
* rtl.h (reg_set_last): Delete declaration.
|
||||
* rtlanal.c (reg_set_last): Delete.
|
||||
|
||||
2004-04-19 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* fold-const.c (fold_convert): Make function extern/public.
|
||||
|
@ -1844,7 +1844,6 @@ extern int reg_overlap_mentioned_p (rtx, rtx);
|
||||
extern rtx set_of (rtx, rtx);
|
||||
extern void note_stores (rtx, void (*) (rtx, rtx, void *), void *);
|
||||
extern void note_uses (rtx *, void (*) (rtx *, void *), void *);
|
||||
extern rtx reg_set_last (rtx, rtx);
|
||||
extern int dead_or_set_p (rtx, rtx);
|
||||
extern int dead_or_set_regno_p (rtx, unsigned int);
|
||||
extern rtx find_reg_note (rtx, enum reg_note, rtx);
|
||||
|
@ -1598,54 +1598,6 @@ reg_overlap_mentioned_p (rtx x, rtx in)
|
||||
}
|
||||
}
|
||||
|
||||
/* Return the last value to which REG was set prior to INSN. If we can't
|
||||
find it easily, return 0.
|
||||
|
||||
We only return a REG, SUBREG, or constant because it is too hard to
|
||||
check if a MEM remains unchanged. */
|
||||
|
||||
rtx
|
||||
reg_set_last (rtx x, rtx insn)
|
||||
{
|
||||
rtx orig_insn = insn;
|
||||
|
||||
/* Scan backwards until reg_set_last_1 changed one of the above flags.
|
||||
Stop when we reach a label or X is a hard reg and we reach a
|
||||
CALL_INSN (if reg_set_last_last_regno is a hard reg).
|
||||
|
||||
If we find a set of X, ensure that its SET_SRC remains unchanged. */
|
||||
|
||||
/* We compare with <= here, because reg_set_last_last_regno
|
||||
is actually the number of the first reg *not* in X. */
|
||||
for (;
|
||||
insn && GET_CODE (insn) != CODE_LABEL
|
||||
&& ! (GET_CODE (insn) == CALL_INSN
|
||||
&& REGNO (x) <= FIRST_PSEUDO_REGISTER);
|
||||
insn = PREV_INSN (insn))
|
||||
if (INSN_P (insn))
|
||||
{
|
||||
rtx set = set_of (x, insn);
|
||||
/* OK, this function modify our register. See if we understand it. */
|
||||
if (set)
|
||||
{
|
||||
rtx last_value;
|
||||
if (GET_CODE (set) != SET || SET_DEST (set) != x)
|
||||
return 0;
|
||||
last_value = SET_SRC (x);
|
||||
if (CONSTANT_P (last_value)
|
||||
|| ((GET_CODE (last_value) == REG
|
||||
|| GET_CODE (last_value) == SUBREG)
|
||||
&& ! reg_set_between_p (last_value,
|
||||
insn, orig_insn)))
|
||||
return last_value;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Call FUN on each register or MEM that is stored into or clobbered by X.
|
||||
(X would be the pattern of an insn).
|
||||
FUN receives two arguments:
|
||||
|
Loading…
x
Reference in New Issue
Block a user