1994-06-24 11:31:16 +00:00
|
|
|
/* $Id$ */
|
1987-03-09 19:15:41 +00:00
|
|
|
/*
|
|
|
|
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
|
|
|
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
|
|
|
*/
|
1984-11-26 14:35:32 +00:00
|
|
|
/* R E G I S T E R A L L O C A T I O N
|
|
|
|
*
|
|
|
|
* R A _ I T E M S . H
|
|
|
|
*/
|
|
|
|
|
2019-10-31 22:05:22 +00:00
|
|
|
short item_type(line_p l); /*
|
1984-11-26 14:35:32 +00:00
|
|
|
* Determine the type of item (constant,local
|
|
|
|
* variable etc.) accessed by l.
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
bool is_item(line_p l); /*
|
1984-11-26 14:35:32 +00:00
|
|
|
* See if l accesses an item
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
item_p item_of(offset off, item_p items[]);
|
|
|
|
/*
|
1984-11-26 14:35:32 +00:00
|
|
|
* Determine the descriptor of the item
|
|
|
|
* accessed by l; return 0 if not found
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
void fill_item(item_p item, line_p l);
|
|
|
|
/*
|
1984-11-26 14:35:32 +00:00
|
|
|
* Compute the type and obj/off attributes
|
|
|
|
* of the item accessed by l and put them
|
|
|
|
* in the given item descriptor.
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
bool same_item(item_p a, item_p b);
|
|
|
|
/*
|
1984-11-26 14:35:32 +00:00
|
|
|
* See if a and b are the same items.
|
|
|
|
*/
|
2019-10-31 22:05:22 +00:00
|
|
|
void build_itemlist(proc_p p, item_p items[], int *nrinstr_out);
|
|
|
|
/*
|
1984-11-26 14:35:32 +00:00
|
|
|
* Determine all items accessed by procedure p
|
|
|
|
* and put them in the items lists. All items
|
|
|
|
* of type T must be put in list items[T].
|
|
|
|
* Also determine the number of instructions
|
|
|
|
* of p.
|
|
|
|
*/
|