diff options
Diffstat (limited to 'ocaml-binary-annot/asmcomp/proc.mli')
| -rw-r--r-- | ocaml-binary-annot/asmcomp/proc.mli | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ocaml-binary-annot/asmcomp/proc.mli b/ocaml-binary-annot/asmcomp/proc.mli new file mode 100644 index 0000000000..ba593592bb --- /dev/null +++ b/ocaml-binary-annot/asmcomp/proc.mli @@ -0,0 +1,50 @@ +(***********************************************************************) +(* *) +(* Objective Caml *) +(* *) +(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) +(* *) +(* Copyright 1996 Institut National de Recherche en Informatique et *) +(* en Automatique. All rights reserved. This file is distributed *) +(* under the terms of the Q Public License version 1.0. *) +(* *) +(***********************************************************************) + +(* $Id$ *) + +(* Processor descriptions *) + +(* Instruction selection *) +val word_addressed: bool + +(* Registers available for register allocation *) +val num_register_classes: int +val register_class: Reg.t -> int +val num_available_registers: int array +val first_available_register: int array +val register_name: int -> string +val phys_reg: int -> Reg.t +val rotate_registers: bool + +(* Calling conventions *) +val loc_arguments: Reg.t array -> Reg.t array * int +val loc_results: Reg.t array -> Reg.t array +val loc_parameters: Reg.t array -> Reg.t array +val loc_external_arguments: Reg.t array -> Reg.t array * int +val loc_external_results: Reg.t array -> Reg.t array +val loc_exn_bucket: Reg.t + +(* Maximal register pressures for pre-spilling *) +val safe_register_pressure: Mach.operation -> int +val max_register_pressure: Mach.operation -> int array + +(* Registers destroyed by operations *) +val destroyed_at_oper: Mach.instruction_desc -> Reg.t array +val destroyed_at_raise: Reg.t array + +(* Info for laying out the stack frame *) +val num_stack_slots: int array +val contains_calls: bool ref + +(* Calling the assembler *) +val assemble_file: string -> string -> int |
