Pristine Ack-5.5
[Ack-5.5.git] / util / ego / il / il3_change.h
1 /* $Id: il3_change.h,v 1.4 1994/06/24 10:25:58 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 /*  I N L I N E   S U B S T I T U T I O N
7  *
8  *  I L 3 _ C H A N G E . C
9  */
10
11
12 extern chg_callseq();           /* (call_p c; line_p cal, *l_out)
13                                  * Change the calling sequence of
14                                  * the call c. The parameters are
15                                  * changed and the sequence
16                                  * CAL - ASP - LFR is removed.
17                                  * cal points to the CAL instruction
18                                  * l_out indicates where the expanded
19                                  * text of the called routine must
20                                  * be put.
21                                  */
22 extern line_p make_label();     /* (line_p l; proc_p p)
23                                  * Make sure that the instruction after
24                                  * l contains a label. If this is not
25                                  * already the case, create a new label.
26                                  */
27 extern modify();                /* (line_p text; call_p c; line_p lab;
28                                  *  offset ab_off, lb_off; int lab_off)
29                                  * Modify the EM text of the called
30                                  * procedure.
31                                  */
32 extern mod_actuals();           /* (call_p nc,c; line_p lab;
33                                  *  offset ab_off, lb_off; int lab_off)
34                                  * Modify the actual parameters of the
35                                  * call nc the same way as the text of
36                                  * call c would be modified.
37                                  */
38 extern insert();                /* (line_p text,l,firstline)
39                                  * Insert the modified EM text.
40                                  * Pseudos are put after the pseudos
41                                  * of the caller.
42                                  */
43 extern liquidate();             /* (proc_p p; line_p text)
44                                  * All calls to p were expanded in line,
45                                  * so p is no longer needed.
46                                  */