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

SCM Repository

[diderot] Diff of /branches/pure-cfg/src/compiler/IL/value-numbering-fn.sml
ViewVC logotype

Diff of /branches/pure-cfg/src/compiler/IL/value-numbering-fn.sml

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

revision 1622, Fri Nov 11 20:07:50 2011 UTC revision 1623, Fri Nov 11 21:58:50 2011 UTC
# Line 107  Line 107 
107                        (* rewrite node to rename variables *)                        (* rewrite node to rename variables *)
108                          then IL.CFG.replaceNode(nd, IL.Node.mkASSIGN(y, IL.RHS.map rename rhs))                          then IL.CFG.replaceNode(nd, IL.Node.mkASSIGN(y, IL.RHS.map rename rhs))
109                          else ()                          else ()
110                      | IL.MASSIGN{stm=([], rator, xs), succ, ...} =>
111                          if (List.exists changed xs)
112                          (* rewrite node to rename variables *)
113                            then IL.CFG.replaceNode(nd, IL.Node.mkMASSIGN([], rator, List.map rename xs))
114                            else ()
115                    | IL.MASSIGN{stm=(ys, rator, xs), succ, ...} =>                    | IL.MASSIGN{stm=(ys, rator, xs), succ, ...} =>
116                        if List.all changed ys                        if List.all changed ys
117                          then IL.CFG.deleteNode nd (* deleting redundant assignment *)                          then IL.CFG.deleteNode nd (* deleting redundant assignment *)

Legend:
Removed from v.1622  
changed lines
  Added in v.1623

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