map.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* $Id$ */
  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. /* M A P . H */
  7. extern short plength; /* length of pmap, i.e. number of procs */
  8. extern short olength; /* length of omap, i.e. number of objects */
  9. extern short llength; /* length of lmap and lbmap, i.e.
  10. * # instruction labels in current proc.
  11. */
  12. extern short lplength; /* length of lpmap, i.e. number of loops
  13. * in current procedure.
  14. */
  15. extern short blength; /* length of bmap, i.e. number of basic blocks
  16. * in current procedure.
  17. */
  18. extern line_p *lmap; /* contains for every label_id its
  19. * defining occurrence (line structure)
  20. * label_id --> line_p
  21. */
  22. extern bblock_p *lbmap; /* contains for every label_id its
  23. * basic block.
  24. * label_id --> bblock_p
  25. */
  26. extern proc_p *pmap; /* contains for every proc_id its proc structure
  27. * proc_id --> proc_p
  28. */
  29. extern obj_p *omap; /* contains for every obj_id its object struct
  30. * obj_id --> obj_p
  31. */
  32. extern loop_p *lpmap; /* contains for every loop_id its loop struct
  33. * loop_id --> loop_p
  34. */
  35. extern bblock_p *bmap; /* contains for every block_id its bblock struct
  36. * block_id --> bblock_p
  37. */
  38. extern dblock_p fdblock;/* first dblock, heads dblock list */
  39. extern proc_p fproc; /* first proc, heads proc table */