1 /* $Id: il3_change.h,v 1.4 1994/06/24 10:25:58 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".
6 /* I N L I N E S U B S T I T U T I O N
8 * I L 3 _ C H A N G E . C
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
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.
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
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.
38 extern insert(); /* (line_p text,l,firstline)
39 * Insert the modified EM text.
40 * Pseudos are put after the pseudos
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.