ack/util/ego/il/il3_change.h

47 lines
1.4 KiB
C

/* $Id$ */
/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
/* I N L I N E S U B S T I T U T I O N
*
* I L 3 _ C H A N G E . C
*/
extern chg_callseq(); /* (call_p c; line_p cal, *l_out)
* Change the calling sequence of
* the call c. The parameters are
* changed and the sequence
* CAL - ASP - LFR is removed.
* cal points to the CAL instruction
* l_out indicates where the expanded
* text of the called routine must
* be put.
*/
extern line_p make_label(); /* (line_p l; proc_p p)
* Make sure that the instruction after
* l contains a label. If this is not
* already the case, create a new label.
*/
extern modify(); /* (line_p text; call_p c; line_p lab;
* offset ab_off, lb_off; int lab_off)
* Modify the EM text of the called
* procedure.
*/
extern mod_actuals(); /* (call_p nc,c; line_p lab;
* offset ab_off, lb_off; int lab_off)
* Modify the actual parameters of the
* call nc the same way as the text of
* call c would be modified.
*/
extern void insert(); /* (line_p text,l,firstline)
* Insert the modified EM text.
* Pseudos are put after the pseudos
* of the caller.
*/
extern liquidate(); /* (proc_p p; line_p text)
* All calls to p were expanded in line,
* so p is no longer needed.
*/