Commit ccb4e87e by Bernd Schmidt Committed by Bernd Schmidt

local-alloc.c (update_equiv_regs): When substituting sole definition into sole use of a reg...

	* local-alloc.c (update_equiv_regs): When substituting sole definition
	into sole use of a reg, delete it from liveness information.

From-SVN: r100483
parent fbd4ef4c
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
* reload1.c (reload): Undo 2005-04-20 change. Make sure we detect * reload1.c (reload): Undo 2005-04-20 change. Make sure we detect
the correct set of init_insns that need deletion. the correct set of init_insns that need deletion.
* local-alloc.c (update_equiv_regs): When substituting sole definition
into sole use of a reg, delete it from liveness information.
2005-06-02 Kaz Kojima <kkojima@gcc.gnu.org> 2005-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
......
...@@ -991,7 +991,7 @@ update_equiv_regs (void) ...@@ -991,7 +991,7 @@ update_equiv_regs (void)
/* Now scan all regs killed in an insn to see if any of them are /* Now scan all regs killed in an insn to see if any of them are
registers only used that once. If so, see if we can replace the registers only used that once. If so, see if we can replace the
reference with the equivalent from. If we can, delete the reference with the equivalent form. If we can, delete the
initializing reference and this register will go away. If we initializing reference and this register will go away. If we
can't replace the reference, and the initializing reference is can't replace the reference, and the initializing reference is
within the same loop (or in an inner loop), then move the register within the same loop (or in an inner loop), then move the register
...@@ -1077,6 +1077,11 @@ update_equiv_regs (void) ...@@ -1077,6 +1077,11 @@ update_equiv_regs (void)
reg_equiv[regno].init_insns reg_equiv[regno].init_insns
= XEXP (reg_equiv[regno].init_insns, 1); = XEXP (reg_equiv[regno].init_insns, 1);
/* Remember to clear REGNO from all basic block's live
info. */
SET_REGNO_REG_SET (&cleared_regs, regno);
clear_regnos++;
} }
/* Move the initialization of the register to just before /* Move the initialization of the register to just before
INSN. Update the flow information. */ INSN. Update the flow information. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment