diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-12-22 01:55:49 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-12-22 01:55:49 -0700 |
commit | 04029ca2457cdda7ac485532588705a219b2f980 (patch) | |
tree | 1adccd06465441c3df1e33d4d90f4aa01b6071f5 /gcc/sched.c | |
parent | 1d88b804fba46e810605ca44dd51a709cfe90c34 (diff) | |
download | gcc-04029ca2457cdda7ac485532588705a219b2f980.zip gcc-04029ca2457cdda7ac485532588705a219b2f980.tar.gz gcc-04029ca2457cdda7ac485532588705a219b2f980.tar.bz2 |
haifa-sched.c (create_reg_dead_note): Detect and handle another case where we kill more regs after sched than were...
* haifa-sched.c (create_reg_dead_note): Detect and handle another
case where we kill more regs after sched than were killed before
sched.
* sched.c (create_reg_dead_note): Similarly.
From-SVN: r17183
Diffstat (limited to 'gcc/sched.c')
-rw-r--r-- | gcc/sched.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/sched.c b/gcc/sched.c index b7aa75d..64b785f 100644 --- a/gcc/sched.c +++ b/gcc/sched.c @@ -2218,6 +2218,12 @@ create_reg_dead_note (reg, insn) GET_MODE (XEXP (link, 0)))); while (reg_note_regs < regs_killed) { + /* LINK might be zero if we killed more registers after scheduling + than before, and the last hard register we kill is actually + multiple hard regs. */ + if (link == NULL_RTX) + abort (); + link = XEXP (link, 1); reg_note_regs += (REGNO (XEXP (link, 0)) >= FIRST_PSEUDO_REGISTER ? 1 : HARD_REGNO_NREGS (REGNO (XEXP (link, 0)), |