ack/util/ego/share/aux.h
1984-11-26 15:04:22 +00:00

67 lines
2 KiB
C

/* S H A R E D
*
* A U X I L I A R Y R O U T I N E S
*
*/
extern offset off_set(); /* (line_p lnp)
* lnp has a SHORT or OFFSET operand. Return
* the value of this operand as an offset.
*/
extern offset aoff(); /* (arg_p list; int n)
* Determine the offset field of the
* n'th argument in the list (this argument
* must have type ARGOFF). Start counting at 0.
*/
extern offset tmplocal(); /* (proc_p p, int size)
* Allocate a new local variable in the
* stack frame of p.
*/
line_p int_line(); /* (offset off)
* Allocate a line struct of type OPSHORT
* or OPOFFSET, whichever one fits best.
*/
extern line_p reg_mes(); /* (offset tmp; short size; int typ,score)
* Generate a register message with the
* given arguments.
*/
extern bool dom(); /* (bblock_p b1,b2)
/* See if b1 dominates b2. Note that a
* block always * dominates itself.
*/
extern bblock_p common_dom(); /* (bblock_p a,b)
* find a basic block that dominates a as
* well as b; note that a basic block also
* dominates itself.
*/
extern short add_timespace(); /* (short time,space)
* Add together a time and space, using
* the time_space_ratio parameter that
* may be set by the user.
*/
extern rm_line(); /* ( line_p l; bblock_p b)
* Remove line l from b basic block b.
*/
extern appnd_line(); /* ( line_p l1,l2)
* Put line l1 after l2.
*/
extern line_p last_instr(); /* ( bblock_p b)
* Determine the last line of a basic block.
*/
extern line_p find_mesreg(); /* (offset off)
* Find the register message for the local
* with the given offset.
*/
extern bool is_regvar(); /* (offset off)
* See if there is a 'register message'
* for the local variable with the
* given offset.
*/
extern offset regv_arg(); /* (offset off; int n)
* Fetch the n'th argument of the
* register message of the local with
* the given offset.
*/