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

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/translate/analyze-simple.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/translate/analyze-simple.sml

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

revision 4333, Mon Aug 1 12:55:39 2016 UTC revision 4375, Sat Aug 6 15:48:53 2016 UTC
# Line 155  Line 155 
155                         of S.E_Var x => [x]                         of S.E_Var x => [x]
156                          | S.E_Lit _ => []                          | S.E_Lit _ => []
157                          | S.E_Kernel _ => []                          | S.E_Kernel _ => []
158                          | S.E_Select _ => raise Fail "unexpected E_Select" (* should be handled by doStm *)                          | S.E_Select(y, z) => (
159                                markSharedStateVar z;
160                                [y])
161                          | S.E_Apply(_, xs) => xs                          | S.E_Apply(_, xs) => xs
162                          | S.E_Prim(_, _, xs, _) => xs                          | S.E_Prim(_, _, xs, _) => xs
163                          | S.E_Tensor(xs, _) => xs                          | S.E_Tensor(xs, _) => xs
# Line 185  Line 187 
187                  (VSet.subtract(live, x), VSet.subtract(assigns, x))                  (VSet.subtract(live, x), VSet.subtract(assigns, x))
188              | doStm (S.S_Var(x, SOME e), (live, assigns)) =              | doStm (S.S_Var(x, SOME e), (live, assigns)) =
189                  (addUses(e, VSet.subtract(live, x)), VSet.subtract(assigns, x))                  (addUses(e, VSet.subtract(live, x)), VSet.subtract(assigns, x))
             | doStm (S.S_Assign(x, S.E_Select(y, z)), (live, assigns)) = (  
                 markUpdate (cxt, x);  
                 markSharedStateVar z;  
                 (addVar (y, VSet.subtract(live, x)), addVar(x, assigns)))  
190              | doStm (S.S_Assign(x, e), (live, assigns)) = (              | doStm (S.S_Assign(x, e), (live, assigns)) = (
191                  markUpdate (cxt, x);                  markUpdate (cxt, x);
192                  (addUses(e, VSet.subtract(live, x)), addVar(x, assigns)))                  (addUses(e, VSet.subtract(live, x)), addVar(x, assigns)))

Legend:
Removed from v.4333  
changed lines
  Added in v.4375

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