Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/low-to-tree/low-to-tree.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/low-to-tree/low-to-tree.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4349, Tue Aug 2 18:14:48 2016 UTC revision 4362, Thu Aug 4 14:15:13 2016 UTC
# Line 485  Line 485 
485                        | _ => raise Fail(concat["FIXME: RealToInt<", Int.toString d, ">"])                        | _ => raise Fail(concat["FIXME: RealToInt<", Int.toString d, ">"])
486                      (* end case *)                      (* end case *)
487                    end                    end
488                  | Op.Strands(ty, set) => bindTREE (TOp.Strands(U.trType ty, set))
489                | Op.StrandStatus(ty, set) => bindTREE (TOp.StrandStatus(U.trType ty, set))                | Op.StrandStatus(ty, set) => bindTREE (TOp.StrandStatus(U.trType ty, set))
490                | Op.Transform info => bindTREE (TOp.Transform info)                | Op.Transform info => bindTREE (TOp.Transform info)
491                | Op.Translate info => bindTREE (TOp.Translate info)                | Op.Translate info => bindTREE (TOp.Translate info)
# Line 833  Line 834 
834                        doNode (!succ, ifStk, T.S_Comment text :: stms)                        doNode (!succ, ifStk, T.S_Comment text :: stms)
835                    | IR.ASSIGN{stm=(lhs, rhs), succ, ...} =>                    | IR.ASSIGN{stm=(lhs, rhs), succ, ...} =>
836                        doNode (!succ, ifStk, trAssign (env, lhs, rhs, stms))                        doNode (!succ, ifStk, trAssign (env, lhs, rhs, stms))
837                    | IR.MASSIGN{stm=([], Op.Print tys, xs), succ, ...} => let                    | IR.MASSIGN{stm=([], IR.OP(Op.Print tys, xs)), succ, ...} => let
838                        val (es, stms') = singleArgs (env, xs)                        val (es, stms') = singleArgs (env, xs)
839                      (* translate TensorTy to TensorRefTy in the type list *)                      (* translate TensorTy to TensorRefTy in the type list *)
840                        fun trType (Ty.TensorTy(shp as _::_)) = TTy.TensorRefTy shp                        fun trType (Ty.TensorTy(shp as _::_)) = TTy.TensorRefTy shp
# Line 843  Line 844 
844                        in                        in
845                          doNode (!succ, ifStk, stm :: List.revAppend (stms', stms))                          doNode (!succ, ifStk, stm :: List.revAppend (stms', stms))
846                        end                        end
847                    | IR.MASSIGN{stm=([vals, vecs], Op.EigenVecs2x2, [x]), succ, ...} =>                    | IR.MASSIGN{stm=([vals, vecs], IR.OP(Op.EigenVecs2x2, [x])), succ, ...} =>
848                        doNode (                        doNode (
849                          !succ, ifStk,                          !succ, ifStk,
850                          trEigenVecs (env, vals, vecs, TOp.EigenVecs2x2, x, stms))                          trEigenVecs (env, vals, vecs, TOp.EigenVecs2x2, x, stms))
851                    | IR.MASSIGN{stm=([vals, vecs], Op.EigenVecs3x3, [x]), succ, ...} =>                    | IR.MASSIGN{stm=([vals, vecs], IR.OP(Op.EigenVecs3x3, [x])), succ, ...} =>
852                        doNode (                        doNode (
853                          !succ, ifStk,                          !succ, ifStk,
854                          trEigenVecs (env, vals, vecs, TOp.EigenVecs3x3, x, stms))                          trEigenVecs (env, vals, vecs, TOp.EigenVecs3x3, x, stms))
855                    | IR.MASSIGN{stm=(ys, rator, xs), succ, ...} => raise Fail(concat[                    | IR.MASSIGN{stm=(ys, IR.MAPREDUCE{reds, mapf, args}), succ, ...} =>
856                          "unexepected operator ", Op.toString rator, " for MASSIGN"                        raise Fail "FIXME: MAPREDUCE"
857                      | IR.MASSIGN{stm=(ys, rhs), succ, ...} => raise Fail(concat[
858                            "unexepected rhs ", IR.RHS.toString rhs, " for MASSIGN"
859                        ])                        ])
860                    | IR.GASSIGN{lhs, rhs, succ, ...} => let                    | IR.GASSIGN{lhs, rhs, succ, ...} => let
861                        val gv = mkGlobalVar lhs                        val gv = mkGlobalVar lhs
# Line 869  Line 872 
872                        in                        in
873                          doNode (!succ, ifStk, stm :: stms)                          doNode (!succ, ifStk, stm :: stms)
874                        end                        end
                   | IR.MAPREDUCE _ => raise Fail "FIXME: MAPREDUCE"  
875                    | IR.NEW{strand, args, succ, ...} => let                    | IR.NEW{strand, args, succ, ...} => let
876                        val (es, stms') = singleArgs (env, args)                        val (es, stms') = singleArgs (env, args)
877                        val stm = T.S_New(strand, es)                        val stm = T.S_New(strand, es)

Legend:
Removed from v.4349  
changed lines
  Added in v.4362

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