From: J"orn Rennecke Date: Fri, 3 Nov 2000 05:43:09 +0000 (+0000) Subject: * flow.c (verify_local_live_at_start): Allow hard regs to die. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6c6a14b5fc3a2f7267358d4f3eaa3232f4039180;p=gcc.git * flow.c (verify_local_live_at_start): Allow hard regs to die. From-SVN: r37220 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0cc7a0618e4..42119a96bd5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Fri Nov 3 05:41:07 2000 J"orn Rennecke + + * flow.c (verify_local_live_at_start): Allow hard regs to die. + 2000-11-02 Neil Booth config: diff --git a/gcc/flow.c b/gcc/flow.c index d286f91e2b3..a48accf89d4 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -2888,11 +2888,24 @@ verify_local_live_at_start (new_live_at_start, bb) EXECUTE_IF_SET_IN_REG_SET (new_live_at_start, 0, i, { - /* No registers should die. */ + /* No pseudo registers should die. */ if (REGNO_REG_SET_P (bb->global_live_at_start, i)) - abort (); - /* Verify that the now-live register is wider than word_mode. */ - verify_wide_reg (i, bb->head, bb->end); + { + /* But hard regs can reasonably die, e.g. when we combine + (insn 6 30 7 (set (reg/v:DI 83) + (reg:DI 5 r5)) (nil) + (expr_list:REG_DEAD (reg:DI 5 r5) (nil))) + ... and ... + (insn 17 15 18 (set (reg:SI 5 r5) + (subreg:SI (reg/v:DI 83) 1)) (insn_list 6 (nil)) + (expr_list:REG_DEAD (reg/v:DI 83) (nil))) . */ + + if (i >= FIRST_PSEUDO_REGISTER) + abort (); + } + else + /* Verify that the now-live register is wider than word_mode. */ + verify_wide_reg (i, bb->head, bb->end); }); } }