ra_xform.h 1009 B

12345678910111213141516171819202122232425262728293031
  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. /* R E G I S T E R A L L O C A T I O N
  7. *
  8. * R A _ X F O R M . H
  9. */
  10. void init_replacements(short psize, short wsize);
  11. /* This routine must be called once, before
  12. * any call to xform_proc. It initializes
  13. * a machine dependent table.
  14. */
  15. void xform_proc(proc_p p, alloc_p alloclist, short nrinstrs, line_p instrmap[]);
  16. /* Transform a procedure. Alloclist must
  17. * contain the packed allocations (i.e. those
  18. * allocations that are assigned a register).
  19. */
  20. bool always_in_reg(offset off, alloc_p allocs, short *size_out);
  21. /* See if the local variable with the given
  22. * offset is stored in a register during its
  23. * entire lifetime. As a side effect,
  24. * return the size of the local.
  25. */
  26. void rem_locals(proc_p p, alloc_p allocs);
  27. void rem_formals(proc_p p, alloc_p allocs);