[comp.sys.m88k] What's the status of "reorder"?

rfg@paris.ics.uci.edu (Ronald Guilmette) (03/12/90)

Hey folks!  I'm sure that sombody who reads this group should have an
answer for my question.

I'd like to know what the current status of the program called "reorder"
is.

I have only heard about this program via word of mouth.  It is rumored to
be a assembly code (or object code) optimizer for the 88k, produced by
Motorola.  The last thing that I heard about it was that it was kinda
broken, e.g. it would optimize away the bodies of switch statements :-(

Can someone please tell me what the latest and greatest version of this
program is, what it costs, and where it may be obtained?  Obviously,
I'd also like to know what platforms it is hosted and targeted for
and whether or not the source code is available.

// rfg

meissner@osf.org (Michael Meissner) (03/12/90)

In article <25FAE940.21905@paris.ics.uci.edu> rfg@paris.ics.uci.edu
(Ronald Guilmette) writes:

| Hey folks!  I'm sure that sombody who reads this group should have an
| answer for my question.
| 
| I'd like to know what the current status of the program called "reorder"
| is.

I don't know what the current status is, but reorder was available
with the Motorola Toolkit (for which you need the appropriate System
V.[23] license).

| I have only heard about this program via word of mouth.  It is rumored to
| be a assembly code (or object code) optimizer for the 88k, produced by
| Motorola.  The last thing that I heard about it was that it was kinda
| broken, e.g. it would optimize away the bodies of switch statements :-(

Reorder took assembly code as input, and spit assembly code out.  The
version I looked at (the 0.6 version) was indeed broken.  My vague
memory is, it was removed from the 1.0 toolkit.  The problem with
switch statements is that reorder does dead code elimination,
eliminating instructions and labels if nobody jumped to them.  The
problem was it didn't consider references to labels in .word sections
to be references, and did indead delete switch statements.  The only
time I measured the performance that reorder added, it gave 5%
(certainly less than 10%) on drystone.  The code was also unreadable.
--
Michael Meissner	email: meissner@osf.org		phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA

Catproof is an oxymoron, Childproof is nearly so

charles@dragon.UUCP (Charles Wolff) (03/20/90)

In article <MEISSNER.90Mar12101922@curley.osf.org> meissner@osf.org (Michael Meissner) writes:
}| I'd like to know what the current status of the program called "reorder"
}| is.
}
	reorder is not part of the distributed 88k OS from Motorola
	(known as FH32.*).  it was designed to be the "optimizer pass"
	for the 88k compiler developed by Motorola Austin; however,
	our relased OS is based on the Green Hills compiler.  For the
	GH compiler, the optimization is done as part of the compiler
	pass.  we tried running "reorder" over GH-produced code a few
	times and reorder itself choked.  it was, therefore, dropped.