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

SCM Repository

[diderot] Diff of /trunk/src/compiler/tree-il/low-to-tree-fn.sml
ViewVC logotype

Diff of /trunk/src/compiler/tree-il/low-to-tree-fn.sml

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

revision 2355, Sun Apr 7 11:35:08 2013 UTC revision 2356, Sun Apr 7 14:45:25 2013 UTC
# Line 206  Line 206 
206      fun isInlineOp rator = let      fun isInlineOp rator = let
207            fun chkTensorTy (Ty.TensorTy[]) = true            fun chkTensorTy (Ty.TensorTy[]) = true
208              | chkTensorTy (Ty.TensorTy[_]) = true              | chkTensorTy (Ty.TensorTy[_]) = true
209              | chkTensorTy (Ty.TensorTy _) = Target.inlineMatrixExp              | chkTensorTy (Ty.TensorTy[_, _]) = Target.inlineMatrixExp
210              | chkTensorTy _ = true              | chkTensorTy _ = false
211            in            in
212             case rator             case rator
213               of Op.LoadVoxels(_, 1) => true               of Op.LoadVoxels(_, 1) => true
# Line 217  Line 217 
217                | Op.Neg ty => chkTensorTy ty                | Op.Neg ty => chkTensorTy ty
218                | Op.Scale ty => chkTensorTy ty                | Op.Scale ty => chkTensorTy ty
219                | Op.MulMatMat _ => Target.inlineMatrixExp                | Op.MulMatMat _ => Target.inlineMatrixExp
220                  | Op.MulVecTen3 _ => false
221                  | Op.MulTen3Vec _ => false
222                  | Op.ColonMul(Ty.TensorTy dd1, Ty.TensorTy dd2) =>
223                    (* if the result is a vector or scalar, then it is inline *)
224                      (List.length dd1 + List.length dd2 > 5)
225                | Op.EigenVecs2x2 => false                | Op.EigenVecs2x2 => false
226                | Op.EigenVecs3x3 => false                | Op.EigenVecs3x3 => false
227                | Op.EigenVals2x2 => false                | Op.EigenVals2x2 => false
228                | Op.EigenVals3x3 => false                | Op.EigenVals3x3 => false
229                | Op.Identity _ => Target.inlineMatrixExp                | Op.Identity _ => Target.inlineMatrixExp
230                | Op.Zero _ => Target.inlineMatrixExp                | Op.Zero _ => Target.inlineMatrixExp
231                  | Op.Transpose _ => false
232                | Op.TensorToWorldSpace(_, ty) => chkTensorTy ty                | Op.TensorToWorldSpace(_, ty) => chkTensorTy ty
233                | _ => true                | _ => true
234              (* end case *)              (* end case *)

Legend:
Removed from v.2355  
changed lines
  Added in v.2356

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