EM_OPT(6)

NAME
em_opt - EM peephole optimizer

SYNOPSIS
em_opt [-Ln] [-m[l]<num>] [ argument ]

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:

-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.

-n  Do not optimize. No peephole optimizations will be performed, other functions will be carried out.

-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.

-ml<num>
    Like -m<num>, but also for long multiplies.

FILES
/tmp/emopt??????, is used when the -L flag is given only.

SEE ALSO
ack(1)
[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.

AUTHOR
Hans van Staveren, Vrije Universiteit