Pristine Ack-5.5
[Ack-5.5.git] / util / opt / em_opt.6
1 .\" $Id: em_opt.6,v 2.6 1994/06/24 10:39:52 ceriel Exp $
2 .TH EM_OPT 6 "$Revision: 2.6 $"
3 .ad
4 .SH NAME
5 em_opt \- EM peephole optimizer
6 .SH SYNOPSIS
7 .B ~em/lib.bin/em_opt
8 [-Ln] [-m[l]<num>] [ argument ]
9 .SH DESCRIPTION
10 Em_opt reads a compact EM-program, argument or standard input,
11 and produces another compact EM program on standard output
12 that is functionally equivalent,
13 but smaller.
14 Some other functions are here that make this program mandatory
15 before running a codegenerator,
16 it may be left out when interpretation is wanted.
17 Flags recognized are:
18 .IP -L
19 Make a library module.
20 This means that the output will start with a message giving
21 the names of all exported entities in this module.
22 .IP -n
23 Do not optimize.
24 No peephole optimizations will be performed,
25 other functions will be carried out.
26 .IP -m<num>
27 Try to replace multiplies with constants by combinations of shifts and adds,
28 but no more than <num> of them. Integer overflow detection is lost with this
29 option.
30 .IP -ml<num>
31 Like -m<num>, but also for long multiplies.
32 .SH "FILES"
33 /usr/tmp/emopt??????, is used when the -L flag is given only.
34 .SH "SEE ALSO"
35 ack(1)
36 .PD 0
37 .IP [1]
38 A.S. Tanenbaum, Hans van Staveren, Ed Keizer and Johan
39 Stevenson "Description of a machine architecture for use with
40 block structured languages" Informatica report IR-81.
41 .SH AUTHOR
42 Hans van Staveren, Vrije Universiteit