1994-06-24 11:31:16 +00:00
|
|
|
.\" $Id$
|
1991-10-01 12:18:39 +00:00
|
|
|
.TH EM_OPT 6 "$Revision$"
|
1984-07-12 14:14:54 +00:00
|
|
|
.ad
|
|
|
|
.SH NAME
|
|
|
|
em_opt \- EM peephole optimizer
|
|
|
|
.SH SYNOPSIS
|
1991-11-20 16:45:25 +00:00
|
|
|
.B ~em/lib.bin/em_opt
|
|
|
|
[-Ln] [-m[l]<num>] [ argument ]
|
1984-07-12 14:14:54 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
Em_opt reads a compact EM-program, argument or standard input,
|
|
|
|
and produces another compact EM program on standard output
|
|
|
|
that is functionally equivalent,
|
|
|
|
but smaller.
|
|
|
|
Some other functions are here that make this program mandatory
|
|
|
|
before running a codegenerator,
|
|
|
|
it may be left out when interpretation is wanted.
|
|
|
|
Flags recognized are:
|
|
|
|
.IP -L
|
|
|
|
Make a library module.
|
|
|
|
This means that the output will start with a message giving
|
|
|
|
the names of all exported entities in this module.
|
|
|
|
.IP -n
|
|
|
|
Do not optimize.
|
|
|
|
No peephole optimizations will be performed,
|
|
|
|
other functions will be carried out.
|
1991-11-20 16:45:25 +00:00
|
|
|
.IP -m<num>
|
|
|
|
Try to replace multiplies with constants by combinations of shifts and adds,
|
|
|
|
but no more than <num> of them. Integer overflow detection is lost with this
|
|
|
|
option.
|
|
|
|
.IP -ml<num>
|
|
|
|
Like -m<num>, but also for long multiplies.
|
1984-07-12 14:14:54 +00:00
|
|
|
.SH "FILES"
|
|
|
|
/usr/tmp/emopt??????, is used when the -L flag is given only.
|
|
|
|
.SH "SEE ALSO"
|
1991-11-20 16:45:25 +00:00
|
|
|
ack(1)
|
1984-07-12 14:14:54 +00:00
|
|
|
.PD 0
|
|
|
|
.IP [1]
|
|
|
|
A.S. Tanenbaum, Hans van Staveren, Ed Keizer and Johan
|
|
|
|
Stevenson "Description of a machine architecture for use with
|
|
|
|
block structured languages" Informatica report IR-81.
|
|
|
|
.SH AUTHOR
|
|
|
|
Hans van Staveren, Vrije Universiteit
|