mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-25 22:04:07 +08:00
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:
parent
b1a9f6a07a
commit
6a3dbe6543
@ -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>
|
2000-05-29 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
* final.c (current_output_insn): New.
|
* final.c (current_output_insn): New.
|
||||||
|
18
gcc/flow.c
18
gcc/flow.c
@ -5120,6 +5120,24 @@ mark_used_reg (pbi, reg, cond, insn)
|
|||||||
(splay_tree_value) rcli);
|
(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
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user