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 3882, Thu May 19 19:50:46 2016 UTC revision 3886, Fri May 20 15:10:11 2016 UTC
# Line 319  Line 319 
319                | Op.LoadVoxel info => bindOp (TOp.LoadVoxel info)                | Op.LoadVoxel info => bindOp (TOp.LoadVoxel info)
320                | Op.Inside(info, s) => bindOp (TOp.Inside(info, s))                | Op.Inside(info, s) => bindOp (TOp.Inside(info, s))
321                | Op.ImageDim(info, d) => bindOp(TOp.ImageDim(info, d))                | Op.ImageDim(info, d) => bindOp(TOp.ImageDim(info, d))
               | Op.LoadSeq(ty, file) => bindOp(TOp.LoadSeq(Util.trType ty, file))  
               | Op.LoadImage(ty, file) => bindOp(TOp.LoadImage(Util.trType ty, file))  
322                | Op.MathFn f => bindOp (TOp.MathFn f)                | Op.MathFn f => bindOp (TOp.MathFn f)
323                | rator => raise Fail("bogus operator " ^ Op.toString srcRator)                | rator => raise Fail("bogus operator " ^ Op.toString srcRator)
324              (* end case *)              (* end case *)
# Line 361  Line 359 
359                | IR.OP(Op.EigenVecs3x3, args) => assignOp (TOp.EigenVecs3x3, args)                | IR.OP(Op.EigenVecs3x3, args) => assignOp (TOp.EigenVecs3x3, args)
360                | IR.OP(Op.EigenVals2x2, args) => assignOp (TOp.EigenVals2x2, args)                | IR.OP(Op.EigenVals2x2, args) => assignOp (TOp.EigenVals2x2, args)
361                | IR.OP(Op.EigenVals3x3, args) => assignOp (TOp.EigenVals3x3, args)                | IR.OP(Op.EigenVals3x3, args) => assignOp (TOp.EigenVals3x3, args)
362                  | IR.OP(Op.Zero(ty as Ty.TensorTy dd), []) => let
363                      val z = T.E_Lit(Literal.Real(RealLit.zero))
364                      val sz = List.foldl Int.* 1 dd
365                      in [
366                        mkDefn (
367                          newLocal(env, lhs),
368                          T.E_Cons(List.tabulate(sz, z), Util.trType ty))
369                      ] end
370                  | IR.OP(Op.LoadSeq(ty, file), []) => let
371                      val lhs = newLocal (env, lhs)
372                      in
373                        [T.S_LoadNrrd(lhs, file)]
374                      end
375                  | IR.OP(Op.LoadImage(ty, file), []) => let
376                      val lhs = newLocal (env, lhs)
377                      in
378                        [T.S_LoadNrrd(lhs, file)]
379                      end
380                | IR.OP(rator, args) => let                | IR.OP(rator, args) => let
381                    val rhs = trOp (env, rator, args)                    val rhs = trOp (env, rator, args)
382                    val needAssignment = (V.useCount lhs > 1) orelse (Env.isInlineOp env rator)                    val needAssignment = (V.useCount lhs > 1) orelse (Env.isInlineOp env rator)

Legend:
Removed from v.3882  
changed lines
  Added in v.3886

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