SCM Repository
View of /branches/vis15/src/compiler/gen/ir/low-ir.in
Parent Directory
|
Revision Log
Revision 3797 -
(download)
(annotate)
Mon May 2 21:10:12 2016 UTC (4 years, 8 months ago) by jhr
File size: 1762 byte(s)
Mon May 2 21:10:12 2016 UTC (4 years, 8 months ago) by jhr
File size: 1762 byte(s)
Working on merge: clean up tensor slicing/indexing.
(* low-ir.sml * * This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu) * * COPYRIGHT (c) 2015 The University of Chicago * All rights reserved. * * Lower-level version of the Diderot CFG IR * * Note: this file is generated from gen/ir/low-ir.spec and gen/ir/low-ir.in. *) structure LowOps = struct (* required helper functions for types *) type ty = LowTypes.ty val samety = LowTypes.same val hashty = LowTypes.hash val tyToString = LowTypes.toString (* required helper functions for type lists *) type tys = ty list fun sametys (tys1, tys2) = ListPair.allEq samety (tys1, tys2) fun hashtys tys = List.foldl (fn (ty, s) => hashty ty + 0w3 * s) 0w0 tys fun tysToString tys = String.concat["[", String.concatWithMap "," tyToString tys, "]" ] (* required helper functions for the int type *) fun sameint (i1 : int, i2) = (i1 = i2) fun hashint i = Word.fromInt i fun intToString i = Int.toString i (* required helper functions for the string type *) fun samestring (s1 : string, s2) = (s1 = s2) val hashstring = HashString.hashString fun stringToString s = String.concat["\"", s, "\""] (* required helper functions for the shape type *) type shape = TensorShape.t val sameshape = TensorShape.same val hashshape = TensorShape.hash val shapeToString = TensorShape.toString (* required helper functions for the index control type type *) type idxctl = IndexCtl.ctl val sameidxctl = IndexCtl.same val hashidxctl = IndexCtl.hash val idxctlToString = IndexCtl.toString @BODY@ end structure LowIR = SSAFn( val irName = "low-ir" structure Ty = LowTypes structure Op = LowOps) structure LowCensus = CensusFn(LowIR)
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |