1 .\" $Id: em_opt.6,v 2.6 1994/06/24 10:39:52 ceriel Exp $
2 .TH EM_OPT 6 "$Revision: 2.6 $"
5 em_opt \- EM peephole optimizer
8 [-Ln] [-m[l]<num>] [ argument ]
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,
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.
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.
24 No peephole optimizations will be performed,
25 other functions will be carried out.
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
31 Like -m<num>, but also for long multiplies.
33 /usr/tmp/emopt??????, is used when the -L flag is given only.
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.
42 Hans van Staveren, Vrije Universiteit