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

SCM Repository

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

Diff of /branches/vis15/src/compiler/high-to-mid/high-to-mid.sml

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

revision 3695, Mon Mar 21 15:26:49 2016 UTC revision 3739, Sat Apr 9 01:36:37 2016 UTC
# Line 96  Line 96 
96                    val t = DstIR.Var.new("one", DstTy.realTy)                    val t = DstIR.Var.new("one", DstTy.realTy)
97                    in [                    in [
98                      (t, DstIR.LIT(Literal.Real(RealLit.one))),                      (t, DstIR.LIT(Literal.Real(RealLit.one))),
99  (* FIXME: shouldn't be IDiv; should be real division! *)                      (y, DstIR.EINAPP(MkOperators.divRR, [t, x]))
                     (y, DstIR.OP(DstOp.IDiv, [t, x]))  
100                    ] end                    ] end
101  (* FIXME: shouldn't be IMul; should be real multiplication! *)                | SOME 2 => [(y, DstIR.EINAPP(MkOperators.mulRR, [x, x]))]
               | SOME 2 => [(y, DstIR.OP(DstOp.IMul, [x, x]))]  
102  (* FIXME: expand into multiplications  (* FIXME: expand into multiplications
103                | SOME n =>                | SOME n =>
104  *) | SOME _ => pow()  *) | SOME _ => pow()
# Line 115  Line 113 
113                        val pos = Env.rename (env, pos)                        val pos = Env.rename (env, pos)
114                        val img = Env.rename (env, img)                        val img = Env.rename (env, img)
115                        val s = Kernel.support h                        val s = Kernel.support h
116                        val (_, x, code) = CoordSpaceTransform.worldToImage{info = v, img = img, pos = pos}                        val (x, code) = let
117                                val avail = AvailRHS.new()
118                                val (_, x) = CoordSpaceTransform.worldToImage{
119                                        avail = avail, info = v, img = img, pos = pos
120                                      }
121                        in                        in
122                          code @ [(result, DstIR.OP(DstOp.Inside(v, s), [x, img]))]                                (x, AvailRHS.getAssignments avail)
123                                end
124                          val code = (result, DstIR.OP(DstOp.Inside(v, s), [x, img])) :: code
125                          in
126                            List.rev code
127                        end                        end
128                    | _ => raise Fail "bogus kernel binding"                    | _ => raise Fail "bogus kernel binding"
129                  (* end case *))                  (* end case *))
# Line 209  Line 215 
215                     of [pos, fld] => expandInside(env, y, pos, fld)                     of [pos, fld] => expandInside(env, y, pos, fld)
216                    (* end case *))                    (* end case *))
217                | SrcOp.ImageDim(info, i) => assign (DstOp.ImageDim(info, i))                | SrcOp.ImageDim(info, i) => assign (DstOp.ImageDim(info, i))
218                | SrcOp.BorderCtlDefault info => (case args                | SrcOp.BorderCtlDefault info => assign (DstOp.BorderCtlDefault info)
219                     of [x, _] => [(y, DstIR.VAR(Env.rename(env, x)))]                | SrcOp.BorderCtlClamp info => assign (DstOp.BorderCtlDefault info)
220                    (* end case *))                | SrcOp.BorderCtlMirror info => assign (DstOp.BorderCtlDefault info)
221                | SrcOp.BorderCtlClamp info => copy()                | SrcOp.BorderCtlWrap info => assign (DstOp.BorderCtlDefault info)
               | SrcOp.BorderCtlMirror info => copy()  
               | SrcOp.BorderCtlWrap info => copy()  
222                | SrcOp.LoadSeq(ty, file) => assign (DstOp.LoadSeq(cvtTy ty, file))                | SrcOp.LoadSeq(ty, file) => assign (DstOp.LoadSeq(cvtTy ty, file))
223                | SrcOp.LoadImage(ty, file) => assign (DstOp.LoadImage(cvtTy ty, file))                | SrcOp.LoadImage(ty, file) => assign (DstOp.LoadImage(cvtTy ty, file))
224                | SrcOp.MathFn e=>  assign (DstOp.MathFn e)                | SrcOp.MathFn e=>  assign (DstOp.MathFn e)

Legend:
Removed from v.3695  
changed lines
  Added in v.3739

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