em_opt.6 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. .\" $Id$
  2. .TH EM_OPT 6 "$Revision$"
  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. /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