Re: Block Scheduling: determ vs nondeterm

preston@noel.cs.rice.edu (Preston Briggs)
Mon, 13 Jun 1994 14:01:53 GMT

          From comp.compilers

Related articles
Block Scheduling: determ vs nondeterm PAULLONG@delphi.com (1994-06-05)
Re: Block Scheduling: determ vs nondeterm preston@noel.cs.rice.edu (1994-06-13)
Re: Block Scheduling: determ vs nondeterm paullong@delphi.com (1994-06-15)
Re: Block Scheduling: determ vs nondeterm preston@noel.cs.rice.edu (1994-06-16)
Re: Block Scheduling: determ vs nondeterm chase@Think.COM (1994-06-16)
Re: Block Scheduling: determ vs nondeterm grunwald@foobar.cs.colorado.edu (1994-06-20)
| List of all articles for this month |

Newsgroups: comp.compilers
From: preston@noel.cs.rice.edu (Preston Briggs)
Keywords: optimize
Organization: Rice University, Houston
References: 94-06-060
Date: Mon, 13 Jun 1994 14:01:53 GMT

PAULLONG@delphi.com writes:
>In order to remove as many jumps from one basic block to another, I
>understand that one needs to perform block scheduling, much like
>instruction scheduling. However, I've never written a block scheduler and
>don't know what the traditional approach is. My first inclination is to
>write a non-deterministic block scheduler using a genetic algorithm to
>obtain a soltuion that is "good enough."


Hmmm, building a sledgehammer would be fun...
Or you could review the literature!
See especially


    title="Jump Minimization in Linear Time",
    author="M. V. S. Ramanath and Marvin Solomon",
    pages="527--545",
    journal=toplas,
    year=1984,
    month=oct,
    volume=6,
    number=4


Or, just sort the blocks by their postorder index (in reverse).


Recall "preorder", "inorder", and "postorder" from your data
structures class when they explained how to walk over a binary
tree. Postorder means we number a node after visiting all
it's successors. So, the start node of the control-flow graph
will end up with the highest number.


I don't expect this is optimal, but it's certainly fast and tends to
get some things right.


Preston Briggs
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.