public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Re.Scheduler
@ 2000-03-15 19:57 M.V.S. Phani Narasimham
  2000-04-01  0:00 ` Re.Scheduler M.V.S. Phani Narasimham
  0 siblings, 1 reply; 3+ messages in thread
From: M.V.S. Phani Narasimham @ 2000-03-15 19:57 UTC (permalink / raw)
  To: gcc-help

hai,

Why does the gcc instruction scheduler does the scheduling from
bottom to top (considering single basic block it schdules from 
tail to head). Is there any specific reason to it.

My argument is when we calculate all the dependencies
we can find the insns independent at a particular instant
and schedule them.


Even some of the papers i looked do list-scheduling from top
to bottom.

One reference:
Instruction scheduling for IBM RISC System/6000 processor
IBM Research journal 1900

sincierly,
phani.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re.Scheduler
  2000-03-15 19:57 Re.Scheduler M.V.S. Phani Narasimham
@ 2000-04-01  0:00 ` M.V.S. Phani Narasimham
  0 siblings, 0 replies; 3+ messages in thread
From: M.V.S. Phani Narasimham @ 2000-04-01  0:00 UTC (permalink / raw)
  To: gcc-help

hai,

Why does the gcc instruction scheduler does the scheduling from
bottom to top (considering single basic block it schdules from 
tail to head). Is there any specific reason to it.

My argument is when we calculate all the dependencies
we can find the insns independent at a particular instant
and schedule them.


Even some of the papers i looked do list-scheduling from top
to bottom.

One reference:
Instruction scheduling for IBM RISC System/6000 processor
IBM Research journal 1900

sincierly,
phani.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re.Scheduler.
@ 2000-07-26 22:48 phani narasimhan venkata sesha myreddy
  0 siblings, 0 replies; 3+ messages in thread
From: phani narasimhan venkata sesha myreddy @ 2000-07-26 22:48 UTC (permalink / raw)
  To: Jeffrey A Law, gcc-help

sir,

Thankyou for the answer.
delay-branch scheduler introduces new labels and branches will
jump into middle of the block. So calculation of life information
becomes difficult or is it impossible.

Due to the conditional branches and annuling, the registers live
at the end of the block is not simple union of the live registers
of it sucessors. The insns in the delay-slot should be considered.
But this adds to more complexity only.

execuse me, i do no much on the design, and all the things, that
went in are great, to take gcc this golden shape.
Thankyou.
phani.
-----------------------------------------------------------------------
In message < 397EFF0C.6052A5B4@wipro.com >you write:
  >
  > what if local scheduler is run after delay-branch scheduler.
It won't work because the scheduler doesn't know about the constructs
used to represent delayed branches, the delayed branch pass also mucks
up
the cfg (which the scheduler depends on) and the delayed branch mucks up

the lifetime information.

jeff
-----------------------------------------------------------------------
sir,
i am using gcc for ultrasparc scheduling.

i have a general doubt on the ordering of the phase in the gcc.

why is the following procedure followed in gcc.

The scheduler in gcc is run before register-coloring.
And then a local scheduling is done after register coloring.
And then delay branch scheduling is done after the scheduling again.

can i know why is it done like this way.

I read in some papers the following things:
1) As the freedom is less once we map virtual-registers to
hard-registers
    so the global-scheduler should be run before register coloring. This

counters the argument that the number of globals increase.

2)The local scheduling is done after register coloring as it might have
   introduced some insns which may need to be handled. And the
scheduling
   is a local scheduling only, my assumption is that the register
coloring
   inserts spill and restores which are local to the block so only local

   scheduling is sufficient.

3)The delay branch scheduling is done after the second scheduling. why?
    It doesn't breaks the groups formed by the scheduler for
superscalars.

what if local scheduler is run after delay-branch scheduler.
-----------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2000-07-26 22:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-03-15 19:57 Re.Scheduler M.V.S. Phani Narasimham
2000-04-01  0:00 ` Re.Scheduler M.V.S. Phani Narasimham
2000-07-26 22:48 Re.Scheduler phani narasimhan venkata sesha myreddy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).