Pristine Ack-5.5
[Ack-5.5.git] / util / ego / share / go.h
1 /* $Id: go.h,v 1.4 1994/06/24 10:30:09 ceriel Exp $ */
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
12
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
27                          * as parameter.
28                          */
29 extern no_action();     /* ()
30                          * Parameter to be supplied for e.g. 'initialize' if
31                          * no action is required.
32                          */
33 extern core_usage();    /* ()
34                          * Report core usage, if core_flag is set.
35                          */
36 extern report();        /* ( char *s; int n)
37                          * Report number of optimizations found, if 
38                          * report_flag is set
39                          */