go.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* $Id$ */
  2. /*
  3. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  4. * See the copyright notice in the ACK home directory, in the file "Copyright".
  5. */
  6. /* S H A R E D F I L E
  7. *
  8. * G O . H
  9. *
  10. */
  11. extern go(); /* ( int argc; char *argv[];
  12. * int (*initialize)(); int (*optimize)();
  13. * int (*phase_machinit)(); int (*proc_flag)() )
  14. * This is the main driving routine of the optimizer.
  15. * It first processes the flags given as argument;
  16. * for every flag it does not recognize itself, it
  17. * calls 'proc_flag'; as soon as the -M flag is seen,
  18. * it opens the machine descriptor file and
  19. * reads phase-independend information (notably the
  20. * wordsize and pointersize of the target machine);
  21. * next it calls 'phase_machinit' with this file as
  22. * parameter. Subsequently it calls 'initialize'.
  23. * Finally, all procedures are read, one at a time,
  24. * and 'optimize' is called with the current procedure
  25. * as parameter.
  26. */
  27. extern no_action(); /* ()
  28. * Parameter to be supplied for e.g. 'initialize' if
  29. * no action is required.
  30. */
  31. extern core_usage(); /* ()
  32. * Report core usage, if core_flag is set.
  33. */
  34. extern report(); /* ( char *s; int n)
  35. * Report number of optimizations found, if
  36. * report_flag is set
  37. */