1 /* $Id: go.h,v 1.4 1994/06/24 10:30:09 ceriel Exp $ */
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".
13 extern go(); /* ( int argc; char *argv[];
14 * int (*initialize)(); int (*optimize)();
15 * int (*phase_machinit)(); int (*proc_flag)() )
16 * This is the main driving routine of the optimizer.
17 * It first processes the flags given as argument;
18 * for every flag it does not recognize itself, it
19 * calls 'proc_flag'; as soon as the -M flag is seen,
20 * it opens the machine descriptor file and
21 * reads phase-independend information (notably the
22 * wordsize and pointersize of the target machine);
23 * next it calls 'phase_machinit' with this file as
24 * parameter. Subsequently it calls 'initialize'.
25 * Finally, all procedures are read, one at a time,
26 * and 'optimize' is called with the current procedure
29 extern no_action(); /* ()
30 * Parameter to be supplied for e.g. 'initialize' if
31 * no action is required.
33 extern core_usage(); /* ()
34 * Report core usage, if core_flag is set.
36 extern report(); /* ( char *s; int n)
37 * Report number of optimizations found, if