Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/compiler/FLINT/opt/loopify.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/FLINT/opt/loopify.sml

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

revision 203, Sat Dec 19 20:51:39 1998 UTC revision 220, Tue Mar 9 02:15:05 1999 UTC
# Line 16  Line 16 
16      structure S  = IntSetF      structure S  = IntSetF
17      structure OU = OptUtils      structure OU = OptUtils
18      structure LK = LtyKernel      structure LK = LtyKernel
19      structure CTRL = Control.FLINT      structure CTRL = FLINT_Control
20  in  in
21    
22  val say = Control.Print.say  val say = Control_Print.say
23  fun bug msg = ErrorMsg.impossible ("Loopify: "^msg)  fun bug msg = ErrorMsg.impossible ("Loopify: "^msg)
24  val cplv = LambdaVar.dupLvar  val cplv = LambdaVar.dupLvar
25    
# Line 80  Line 80 
80            else (calls := vs::(!calls);            else (calls := vs::(!calls);
81                  if S.member tfs parent then () else tcp := false)                  if S.member tfs parent then () else tcp := false)
82         end handle NotFound => ())         end handle NotFound => ())
83       | F.TFN((_,_,body),le) => (collect p S.empty body; loop le)       | F.TFN((_,_,_,body),le) => (collect p S.empty body; loop le)
84       | F.TAPP _ => ()       | F.TAPP _ => ()
85       | F.SWITCH(v,ac,arms,def) =>       | F.SWITCH(v,ac,arms,def) =>
86         let fun carm (_,body) = loop body         let fun carm (_,body) = loop body
# Line 220  Line 220 
220            | NONE => let val (fl,filt) = M.lookup m f            | NONE => let val (fl,filt) = M.lookup m f
221              in F.APP(F.VAR fl, OU.filter filt vs)              in F.APP(F.VAR fl, OU.filter filt vs)
222              end handle M.IntmapF => le)              end handle M.IntmapF => le)
223       | F.TFN((f,args,body),le) => F.TFN((f, args, loop body), loop le)       | F.TFN((tfk,f,args,body),le) => F.TFN((tfk, f, args, loop body), loop le)
224       | F.TAPP(f,tycs) => le       | F.TAPP(f,tycs) => le
225       | F.SWITCH(v,ac,arms,def) =>       | F.SWITCH(v,ac,arms,def) =>
226         let fun carm (con,le) = (con, loop le)         let fun carm (con,le) = (con, loop le)

Legend:
Removed from v.203  
changed lines
  Added in v.220

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