aux.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. /* S H A R E D
  7. *
  8. * A U X I L I A R Y R O U T I N E S
  9. *
  10. */
  11. extern offset off_set(); /* (line_p lnp)
  12. * lnp has a SHORT or OFFSET operand. Return
  13. * the value of this operand as an offset.
  14. */
  15. extern offset aoff(); /* (arg_p list; int n)
  16. * Determine the offset field of the
  17. * n'th argument in the list (this argument
  18. * must have type ARGOFF). Start counting at 0.
  19. */
  20. extern offset tmplocal(); /* (proc_p p, offset size)
  21. * Allocate a new local variable in the
  22. * stack frame of p.
  23. */
  24. line_p int_line(); /* (offset off)
  25. * Allocate a line struct of type OPSHORT
  26. * or OPOFFSET, whichever one fits best.
  27. */
  28. extern line_p reg_mes(); /* (offset tmp; short size; int typ,score)
  29. * Generate a register message with the
  30. * given arguments.
  31. */
  32. extern bool dom(); /* (bblock_p b1,b2)
  33. /* See if b1 dominates b2. Note that a
  34. * block always * dominates itself.
  35. */
  36. extern bblock_p common_dom(); /* (bblock_p a,b)
  37. * find a basic block that dominates a as
  38. * well as b; note that a basic block also
  39. * dominates itself.
  40. */
  41. extern short add_timespace(); /* (short time,space)
  42. * Add together a time and space, using
  43. * the time_space_ratio parameter that
  44. * may be set by the user.
  45. */
  46. extern rm_line(); /* ( line_p l; bblock_p b)
  47. * Remove line l from b basic block b.
  48. */
  49. extern appnd_line(); /* ( line_p l1,l2)
  50. * Put line l1 after l2.
  51. */
  52. extern line_p last_instr(); /* ( bblock_p b)
  53. * Determine the last line of a basic block.
  54. */
  55. extern line_p find_mesreg(); /* (offset off)
  56. * Find the register message for the local
  57. * with the given offset.
  58. */
  59. extern bool is_regvar(); /* (offset off)
  60. * See if there is a 'register message'
  61. * for the local variable with the
  62. * given offset.
  63. */
  64. extern offset regv_arg(); /* (offset off; int n)
  65. * Fetch the n'th argument of the
  66. * register message of the local with
  67. * the given offset.
  68. */