From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeffrey A Law To: Bernd Schmidt Cc: egcs@cygnus.com Subject: Re: Some Haifa scheduler bugs Date: Mon, 01 Sep 1997 20:42:00 -0000 Message-id: <14105.873171711@hurl.cygnus.com> References: X-SW-Source: 1997-09/msg00029.html > I think you won't get the right return value. You want to return the > last insn in a SCHED_GROUP or a note that was placed after it. > I had my reasons to use two loops ;) You're right. Seems to me that the return value for move_insn should always be the return value from the first call to reemit_notes. Correct? In which case it's pretty simple to record the return value from the first call to reemit_notes. And I don't doubt you had good reasons to use two loops; I just want to make absolutely sure I understand the problem. Handling of notes and SCHED_GROUP_P insns have both been particularly difficult areas of the scheduler to implement correctly. > The whole affair with SCHED_GROUP_P is extremely messy. Agreed. > How about using extra data structures that describe which insns > to schedule together, which notes to put before them, and the > dependencies between them. I'm all for it. > scheduled together with an insn might make the code clearer. I think it > would fit in better with the fact that Haifa schedules forward. I didn't > try it, though; maybe there are problems with that approach, too. Well, haifa does both forward and backward analysis -- so it might just move the problematical code elsewhere in the scheduler. jeff