cs_partit.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. /* These routines partition the huge set of EM-instructions in
  7. * "manageable chunks.
  8. */
  9. extern int instrgroup(); /* (line_p lnp)
  10. * Return the group into which the instruction
  11. * in lnp belongs to.
  12. */
  13. extern bool stack_group(); /* (int instr)
  14. * Return whether instr is an instruction that
  15. * only changes the state of the stack, i.e.
  16. * is a "true" operator.
  17. */
  18. extern offset op11size(); /* (line_p lnp)
  19. * Return the size of the operand of the unary
  20. * operator in lnp.
  21. */
  22. extern offset op12size(); /* (line_p lnp)
  23. * Return the size of the first operand of the
  24. * binary operator in lnp.
  25. */
  26. extern offset op22size(); /* (line_p lnp)
  27. * Return the size of the second operand of the
  28. * binary operator in lnp.
  29. */
  30. extern offset op13size(); /* (line_p lnp)
  31. * Return the size of the first operand of the
  32. * ternary operator in lnp.
  33. */
  34. extern offset op23size(); /* (line_p lnp)
  35. * Return the size of the second operand of the
  36. * ternary operator in lnp.
  37. */
  38. extern offset op33size(); /* (line_p lnp)
  39. * Return the size of the third operand of the
  40. * ternary operator in lnp.
  41. */
  42. extern offset avsize(); /* (line_p lnp)
  43. * Return the size of the result of the
  44. * operator in lnp.
  45. */
  46. extern int regtype(); /* (byte instr)
  47. * Return in what kind of machine-register
  48. * the result of instr should be stored:
  49. * pointer, float, or any.
  50. */