1997-07-24 04:49:12 -07:00
|
|
|
(***********************************************************************)
|
|
|
|
(* *)
|
2011-07-27 07:17:02 -07:00
|
|
|
(* OCaml *)
|
1997-07-24 04:49:12 -07:00
|
|
|
(* *)
|
|
|
|
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
|
|
(* *)
|
|
|
|
(* Copyright 1997 Institut National de Recherche en Informatique et *)
|
1999-11-17 10:59:06 -08:00
|
|
|
(* en Automatique. All rights reserved. This file is distributed *)
|
|
|
|
(* under the terms of the Q Public License version 1.0. *)
|
1997-07-24 04:49:12 -07:00
|
|
|
(* *)
|
|
|
|
(***********************************************************************)
|
|
|
|
|
1998-06-24 12:22:26 -07:00
|
|
|
class reload_generic : object
|
1997-07-24 04:49:12 -07:00
|
|
|
method reload_operation :
|
|
|
|
Mach.operation -> Reg.t array -> Reg.t array -> Reg.t array * Reg.t array
|
|
|
|
method reload_test : Mach.test -> Reg.t array -> Reg.t array
|
2010-05-21 05:00:49 -07:00
|
|
|
(* Can be overridden to reflect instructions that can operate
|
1997-07-24 04:49:12 -07:00
|
|
|
directly on stack locations *)
|
|
|
|
method makereg : Reg.t -> Reg.t
|
2010-05-21 05:00:49 -07:00
|
|
|
(* Can be overridden to avoid creating new registers of some class
|
1997-07-24 04:49:12 -07:00
|
|
|
(i.e. if all "registers" of that class are actually on stack) *)
|
|
|
|
method fundecl : Mach.fundecl -> Mach.fundecl * bool
|
1997-11-13 02:57:10 -08:00
|
|
|
(* The entry point *)
|
1997-07-24 04:49:12 -07:00
|
|
|
end
|