🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #220

bug in scheduler

#220
From: Devor Tevi
Date: Tue, 07 Apr 1992 17:54
43 lines
1711 bytes
Bug in scheduler - abort() in sched_analyze_2 () at line #1223 in sched.c

I am using gcc from 25-March-92 configured for i386v4.

For the function cppp.c/collect_expansion() compiled -O -fschedule-insns.
(Note I have enabled scheduling - i.e. defined functional units).
We have the following sequence.


(insn 663 662 664 (set (cc0)
       (compare (reg/v:SI 31)
           (reg/v:SI 72))) -1 (nil)
   (nil))

(note 664 663 665 "" NOTE_INSN_DELETED)

(insn 665 664 667 (set (mem/s:QI (plus:SI (reg/v:SI 79)
               (const_int 5)))
       (eq:QI (cc0)
           (const_int 0))) 135 {seq} (nil)
   (nil))


sched.c/sched_analyze_2()  is called with :
 insn = insn 665   and   x = cc0
And this causes an abort in sched_analyze_2() as follows:

	/* User of CC0 depends on immediately preceding insn.
	   All notes are removed from the list of insns to schedule before we
	   reach here, so the previous insn must be the setter of cc0.  */
	if (GET_CODE (PREV_INSN (insn)) != INSN)
	  abort ();

The comment states that the note (664) is remove before we get here,
but from what I can see this is done by the procedure unlink_notes().
Now unlink_notes() is called after sched_analyze() in schedule_block(), 
and sched_analyze() calls sched_analyze_2().

Regards,
Tevi.

tevi@iilcad.intel.com
972-4-355675
Technical Details
Message-ID: <9204071754.AA24400@iilcad>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!iilcad.intel.com!tevi

Show Full Headers
Complete Article Headers
Newsgroups: gnu.gcc.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!iilcad.intel.com!tevi
From: tevi@iilcad.intel.com (Devor Tevi)
Subject: bug in scheduler
Message-ID: <9204071754.AA24400@iilcad>
Sender: gnulists@ai.mit.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Tue, 7 Apr 1992 17:54:19 GMT
Approved: bug-gcc@prep.ai.mit.edu
Lines: 45