flow.c (mark_used_reg): If a register is unconditionally live, remove any conditional death information.

* flow.c (mark_used_reg): If a register is unconditionally live,
remove any conditional death information.

From-SVN: r34259
This commit is contained in:
Richard Earnshaw 2000-05-29 22:37:37 +00:00 committed by Richard Earnshaw
parent b1a9f6a07a
commit 6a3dbe6543
2 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2000-05-29 Richard Earnshaw (rearnsha@arm.com)
* flow.c (mark_used_reg): If a register is unconditionally live,
remove any conditional death information.
2000-05-29 Richard Henderson <rth@cygnus.com>
* final.c (current_output_insn): New.

View File

@ -5120,6 +5120,24 @@ mark_used_reg (pbi, reg, cond, insn)
(splay_tree_value) rcli);
}
}
else if (some_was_live)
{
splay_tree_node node;
struct reg_cond_life_info *rcli;
node = splay_tree_lookup (pbi->reg_cond_dead, regno);
if (node != NULL)
{
/* The register was conditionally live previously, but is now
unconditionally so. Remove it from the conditionally dead
list, so that a conditional set won't cause us to think
it dead. */
rcli = (struct reg_cond_life_info *) node->value;
rcli->condition = NULL_RTX;
splay_tree_remove (pbi->reg_cond_dead, regno);
}
}
#endif
}