Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/src/MLRISC/Tools/MDL/mlrisc-types.sig
ViewVC logotype

View of /sml/trunk/src/MLRISC/Tools/MDL/mlrisc-types.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 744 - (download) (as text) (annotate)
Fri Dec 8 04:11:42 2000 UTC (18 years, 8 months ago) by leunga
File size: 906 byte(s)

   A CVS update record!

   Changed type cell from int to datatype, and numerous other changes.
   Affect every client of MLRISC.  Lal says this can be bootstrapped on all
   machines.  See smlnj/HISTORY for details.

   Tag:  leunga-20001207-cell-monster-hack
(*
 * This module defines special handling of various types in MLRISC
 *
 *)

signature MLRISC_TYPES =
sig

   structure Ast : MDL_AST
   structure RTL : MLTREE_RTL

   (* Does this type has special meaning in an instruction representation? 
    * If so, we warn the user if the argument is somehow not mentioned
    * in the RTL.
    *) 
   val isSpecialRepType : Ast.ty -> bool

   (* 
    * Given a type for an rtl argument, 
    * return actual representation type in MLRISC
    *)
   val representationOf : Ast.id * Ast.id * Ast.loc * Ast.ty -> int * Ast.id

   (* 
    * Given an rtl argument and the actual representation type,
    * insert coercion if possible.
    *)
   val insertRepCoercion : RTL.exp * Ast.ty -> unit

   (*
    * Code generation magic
    *)
   val isConst : RTL.T.rep -> bool (* does it represent a constant? *)   

   val ofCellKind : RTL.exp * Ast.storagedecl -> bool


end

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0