libcall changes for the scheduler

law@redhat.com law@redhat.com
Fri Jun 7 14:45:00 GMT 2002


In message <200206062247.01626@enzo.bigblue.local>, Franz Sirl writes:
 > On Tuesday 04 June 2002 19:40, law@redhat.com wrote:
 > > Here's the final patch to deal with keeping libcalls as a block during
 > > scheduling and to not count USE/CLOBBERs against the issue rate.
 > >
 > > It's been regression tested on a ppc platform (David Edelsohn) and
 > > bootstrap tested on ppc-unknown-linux-gnu (myself).
 > >
 > > 	* sched-int.h (struct deps): New field libcall_block_tail_insn.
 > > 	* sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
 > > 	* sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
 > > 	is set, then mark the current insn as being part of a libcall
 > > 	scheduling group.
 > > 	(sched_analyze): Set and clear libcall_block_tail_insn appropriately.
 > >
 > > 	* haifa-sched.c (schedule_block): Do not count USE or CLOBBER
 > > 	insns against the issue rate.
 > 
 > This patch (and the few bug fixes it depends on) is qualified for the branch
 > cause it was reported to me as an regression since gcc-2.95.2. The affected 
 > application is the linux kernel which potentially consumes large portions of
 > the kernel stack leading to kernel oopses without this patch.
Mark's call on this one.  Though personally, given the amount of headaches
associated with this patch, I'd prefer to see it "prove" itself in the
mainline sources longer before backporting it to the GCC 3.1 branch.

jeff



More information about the Gcc-patches mailing list