Ignore:
Timestamp:
May 19, 2011, 4:03:04 PM (9 years ago)
Author:
ayache
Message:

32 and 16 bits operations support in D2.2/8051

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Deliverables/D2.2/8051/src/clight/runtime.mli

    r619 r818  
    11
    2 (** This module adds runtime functions in a [Clight] program. Some of these
    3     newly defined functions will be used in the Clight32ToClight8 transformation
    4     to replace primitive unary or binary operations. They are returned as
    5     association lists. The other functions implement unsupported functions by
    6     the target architecture that introduce a branch. We need to define them at
    7     the [Clight] level in order to have a correct labelling. *)
     2(** This module adds runtime functions in a [Clight] program. These functions
     3    implement unsupported functions by the target architecture that introduce a
     4    branch. We need to define them at the [Clight] level in order to have a
     5    correct labelling. *)
    86
    9 val add : Clight.program ->
    10   (Clight.program *
    11      ((Clight.unary_operation * Clight.ctype) * string) list *
    12      ((Clight.binary_operation * Clight.ctype * Clight.ctype) *
    13          string) list)
     7type operation =
     8  | Unary of Clight.unary_operation * Clight.ctype
     9  | Binary of Clight.binary_operation * Clight.ctype * Clight.ctype
     10  | Cast of Clight.ctype (* destination type *) * Clight.ctype (* source type *)
     11  | Fun of string (* name of the function *)
     12
     13type op_replacement =
     14    (* operation to be replaced *)
     15    operation *
     16    (* base name of the replacement function *)
     17    string *
     18    (* C definition of the replacement function, provided a name for the
     19       function *)
     20    (string -> string) *
     21    (* dependences *)
     22    operation list
     23
     24val add :
     25  Clight.program -> op_replacement list ->
     26  (Clight.program * (operation * string) list (* operation association *))
     27
     28val replace_unsupported : Clight.program -> Clight.program
Note: See TracChangeset for help on using the changeset viewer.