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

SCM Repository

[diderot] Diff of /branches/vis12-cl/src/compiler/cl-target/tree-to-cl.sml
ViewVC logotype

Diff of /branches/vis12-cl/src/compiler/cl-target/tree-to-cl.sml

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

revision 1763, Sat Mar 24 02:20:24 2012 UTC revision 1764, Sat Mar 24 09:59:51 2012 UTC
# Line 247  Line 247 
247              | exp => let              | exp => let
248                  val x = freshVar name                  val x = freshVar name
249                  in                  in
250                    (CL.mkVar x, [CL.mkDecl(ty, x, SOME(CL.I_Exp exp))])                    (CL.mkVar x, [CL.mkDeclInit(ty, x, exp)])
251                  end                  end
252            (* end case *))            (* end case *))
253    
# Line 292  Line 292 
292                              if needsCast then CL.mkCast(!RN.gRealTy, e) else e                              if needsCast then CL.mkCast(!RN.gRealTy, e) else e
293                            end                            end
294                      in [                      in [
295                        CL.mkDecl(imageDataPtrTy rTy, vp, SOME(CL.I_Exp(trExp(env, a)))),                        CL.mkDeclInit(imageDataPtrTy rTy, vp, trExp(env, a)),
296                        CL.mkAssign(lhs,                        CL.mkAssign(lhs,
297                        CL.mkApply(RN.mkVec n, List.tabulate (n, mkLoad)))                        CL.mkApply(RN.mkVec n, List.tabulate (n, mkLoad)))
298                      ] end                      ] end
# Line 403  Line 403 
403                    val imgTy = CL.T_Named(RN.imageTy dim)                    val imgTy = CL.T_Named(RN.imageTy dim)
404                    val loadFn = RN.loadImage dim                    val loadFn = RN.loadImage dim
405                    in [                    in [
406                      CL.mkDecl(                      CL.mkDeclInit(
407                        CL.T_Named RN.statusTy, sts,                        CL.T_Named RN.statusTy, sts,
408                        SOME(CL.I_Exp(CL.E_Apply(loadFn, [name, CL.mkUnOp(CL.%&, CL.E_Var lhs)]))))                        CL.E_Apply(loadFn, [name, CL.mkUnOp(CL.%&, CL.E_Var lhs)]))
409                    ] end)                    ] end)
410  (* FIXME: I think that S_Input should never happen in OpenCL code [jhr] *)  (* FIXME: I think that S_Input should never happen in OpenCL code [jhr] *)
411             | IL.S_Input(lhs, name, desc, optDflt) => checkSts (fn sts => let             | IL.S_Input(lhs, name, desc, optDflt) => checkSts (fn sts => let
# Line 416  Line 416 
416                        | NONE => ([], false)                        | NONE => ([], false)
417                      (* end case *))                      (* end case *))
418                    val code = [                    val code = [
419                        CL.mkDecl(                        CL.mkDeclInit(
420                          CL.T_Named RN.statusTy, sts,                          CL.T_Named RN.statusTy, sts,
421                          SOME(CL.I_Exp(CL.E_Apply(inputFn, [                          CL.E_Apply(inputFn, [
422                              CL.mkStr name,                              CL.mkStr name,
423                              CL.mkUnOp(CL.%&, CL.mkIndirect(CL.mkVar RN.globalsVarName, lhs)),                              CL.mkUnOp(CL.%&, CL.mkIndirect(CL.mkVar RN.globalsVarName, lhs)),
424                              CL.mkBool hasDflt                              CL.mkBool hasDflt
425                            ]))))                            ]))
426                      ]                      ]
427                    in                    in
428                      initCode @ code                      initCode @ code

Legend:
Removed from v.1763  
changed lines
  Added in v.1764

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