Add implicit parameter to find_all_hard_reg_sets
2014-04-25 Radovan Obradovic <robradovic@mips.com> Tom de Vries <tom@codesourcery.com> * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and handle. * rtl.h (find_all_hard_reg_sets): Add bool parameter. * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add new argument to find_all_hard_reg_sets call. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r209798
This commit is contained in:
parent
fe65a7edc6
commit
356bf59349
|
@ -1,3 +1,12 @@
|
||||||
|
2014-04-25 Radovan Obradovic <robradovic@mips.com>
|
||||||
|
Tom de Vries <tom@codesourcery.com>
|
||||||
|
|
||||||
|
* rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
|
||||||
|
handle.
|
||||||
|
* rtl.h (find_all_hard_reg_sets): Add bool parameter.
|
||||||
|
* haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
|
||||||
|
new argument to find_all_hard_reg_sets call.
|
||||||
|
|
||||||
2014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
2014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||||
|
|
||||||
* config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
|
* config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
|
||||||
|
|
|
@ -1299,7 +1299,7 @@ recompute_todo_spec (rtx next, bool for_backtrack)
|
||||||
{
|
{
|
||||||
HARD_REG_SET t;
|
HARD_REG_SET t;
|
||||||
|
|
||||||
find_all_hard_reg_sets (prev, &t);
|
find_all_hard_reg_sets (prev, &t, true);
|
||||||
if (TEST_HARD_REG_BIT (t, regno))
|
if (TEST_HARD_REG_BIT (t, regno))
|
||||||
return HARD_DEP;
|
return HARD_DEP;
|
||||||
if (prev == pro)
|
if (prev == pro)
|
||||||
|
@ -3082,7 +3082,7 @@ check_clobbered_conditions (rtx insn)
|
||||||
if ((current_sched_info->flags & DO_PREDICATION) == 0)
|
if ((current_sched_info->flags & DO_PREDICATION) == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
find_all_hard_reg_sets (insn, &t);
|
find_all_hard_reg_sets (insn, &t, true);
|
||||||
|
|
||||||
restart:
|
restart:
|
||||||
for (i = 0; i < ready.n_ready; i++)
|
for (i = 0; i < ready.n_ready; i++)
|
||||||
|
|
|
@ -2042,7 +2042,7 @@ extern const_rtx set_of (const_rtx, const_rtx);
|
||||||
extern void record_hard_reg_sets (rtx, const_rtx, void *);
|
extern void record_hard_reg_sets (rtx, const_rtx, void *);
|
||||||
extern void record_hard_reg_uses (rtx *, void *);
|
extern void record_hard_reg_uses (rtx *, void *);
|
||||||
#ifdef HARD_CONST
|
#ifdef HARD_CONST
|
||||||
extern void find_all_hard_reg_sets (const_rtx, HARD_REG_SET *);
|
extern void find_all_hard_reg_sets (const_rtx, HARD_REG_SET *, bool);
|
||||||
#endif
|
#endif
|
||||||
extern void note_stores (const_rtx, void (*) (rtx, const_rtx, void *), void *);
|
extern void note_stores (const_rtx, void (*) (rtx, const_rtx, void *), void *);
|
||||||
extern void note_uses (rtx *, void (*) (rtx *, void *), void *);
|
extern void note_uses (rtx *, void (*) (rtx *, void *), void *);
|
||||||
|
|
|
@ -1046,13 +1046,13 @@ record_hard_reg_sets (rtx x, const_rtx pat ATTRIBUTE_UNUSED, void *data)
|
||||||
/* Examine INSN, and compute the set of hard registers written by it.
|
/* Examine INSN, and compute the set of hard registers written by it.
|
||||||
Store it in *PSET. Should only be called after reload. */
|
Store it in *PSET. Should only be called after reload. */
|
||||||
void
|
void
|
||||||
find_all_hard_reg_sets (const_rtx insn, HARD_REG_SET *pset)
|
find_all_hard_reg_sets (const_rtx insn, HARD_REG_SET *pset, bool implicit)
|
||||||
{
|
{
|
||||||
rtx link;
|
rtx link;
|
||||||
|
|
||||||
CLEAR_HARD_REG_SET (*pset);
|
CLEAR_HARD_REG_SET (*pset);
|
||||||
note_stores (PATTERN (insn), record_hard_reg_sets, pset);
|
note_stores (PATTERN (insn), record_hard_reg_sets, pset);
|
||||||
if (CALL_P (insn))
|
if (implicit && CALL_P (insn))
|
||||||
IOR_HARD_REG_SET (*pset, call_used_reg_set);
|
IOR_HARD_REG_SET (*pset, call_used_reg_set);
|
||||||
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
|
for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
|
||||||
if (REG_NOTE_KIND (link) == REG_INC)
|
if (REG_NOTE_KIND (link) == REG_INC)
|
||||||
|
|
Loading…
Reference in New Issue