pending_mem = pending_read_mems;
while (pending)
{
- /* If a dependency already exists, don't create a new one. */
- if (!find_insn_list (XEXP (pending, 0), LOG_LINKS (insn)))
- if (anti_dependence (XEXP (pending_mem, 0), dest))
- add_dependence (insn, XEXP (pending, 0), REG_DEP_ANTI);
+ if (anti_dependence (XEXP (pending_mem, 0), dest))
+ add_dependence (insn, XEXP (pending, 0), REG_DEP_ANTI);
pending = XEXP (pending, 1);
pending_mem = XEXP (pending_mem, 1);
pending_mem = pending_write_mems;
while (pending)
{
- /* If a dependency already exists, don't create a new one. */
- if (!find_insn_list (XEXP (pending, 0), LOG_LINKS (insn)))
- if (output_dependence (XEXP (pending_mem, 0), dest))
- add_dependence (insn, XEXP (pending, 0), REG_DEP_OUTPUT);
+ if (output_dependence (XEXP (pending_mem, 0), dest))
+ add_dependence (insn, XEXP (pending, 0), REG_DEP_OUTPUT);
pending = XEXP (pending, 1);
pending_mem = XEXP (pending_mem, 1);
pending_mem = pending_read_mems;
while (pending)
{
- /* If a dependency already exists, don't create a new one. */
- if (!find_insn_list (XEXP (pending, 0), LOG_LINKS (insn)))
- if (read_dependence (XEXP (pending_mem, 0), x))
- add_dependence (insn, XEXP (pending, 0), REG_DEP_ANTI);
+ if (read_dependence (XEXP (pending_mem, 0), x))
+ add_dependence (insn, XEXP (pending, 0), REG_DEP_ANTI);
pending = XEXP (pending, 1);
pending_mem = XEXP (pending_mem, 1);
pending_mem = pending_write_mems;
while (pending)
{
- /* If a dependency already exists, don't create a new one. */
- if (!find_insn_list (XEXP (pending, 0), LOG_LINKS (insn)))
- if (true_dependence (XEXP (pending_mem, 0), VOIDmode,
- x, rtx_varies_p))
- add_dependence (insn, XEXP (pending, 0), 0);
+ if (true_dependence (XEXP (pending_mem, 0), VOIDmode,
+ x, rtx_varies_p))
+ add_dependence (insn, XEXP (pending, 0), 0);
pending = XEXP (pending, 1);
pending_mem = XEXP (pending_mem, 1);
{
if (GET_CODE (insn) == INSN || GET_CODE (insn) == JUMP_INSN)
{
+ /* Clear out the stale LOG_LINKS from flow. */
+ free_INSN_LIST_list (&LOG_LINKS (insn));
+
/* Make each JUMP_INSN a scheduling barrier for memory references. */
if (GET_CODE (insn) == JUMP_INSN)
last_pending_memory_flush
CANT_MOVE (insn) = 1;
+ /* Clear out the stale LOG_LINKS from flow. */
+ free_INSN_LIST_list (&LOG_LINKS (insn));
+
/* Any instruction using a hard register which may get clobbered
by a call needs to be marked as dependent on this call.
This prevents a use of a hard return reg from being moved
if (INSN_REF_COUNT (insn) != 0)
continue;
- if (!find_insn_list (last, LOG_LINKS (insn)))
- add_dependence (last, insn, REG_DEP_ANTI);
+ add_dependence (last, insn, REG_DEP_ANTI);
INSN_REF_COUNT (insn) = 1;
/* Skip over insns that are part of a group. */