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

SCM Repository

[diderot] Diff of /branches/charisee_dev/src/compiler/high-to-mid/split.sml
ViewVC logotype

Diff of /branches/charisee_dev/src/compiler/high-to-mid/split.sml

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

revision 3378, Fri Nov 6 15:39:55 2015 UTC revision 3383, Mon Nov 9 02:39:26 2015 UTC
# Line 36  Line 36 
36    
37      val numFlag=1   (*remove common subexpression*)      val numFlag=1   (*remove common subexpression*)
38      val testing=0      val testing=0
39      val splitlimit=500      val splitlimit=4000
40      fun mkEin e = E.mkEin e      fun mkEin e = E.mkEin e
41      val einappzero= DstIL.EINAPP(mkEin([],[],E.Const 0),[])      val einappzero= DstIL.EINAPP(mkEin([],[],E.Const 0),[])
42      fun setEinZero y=  (y,einappzero)      fun setEinZero y=  (y,einappzero)
# Line 396  Line 396 
396                          val code5=code4@rest4@code                          val code5=code4@rest4@code
397                          val rest5=rest@[einapp3]                          val rest5=rest@[einapp3]
398                          in                          in
 (*  
                             (newbies,code5@rest5)(*tab1*)  
                             (newbies,rest5@code5)(*tab2*)  
                             (rest5,newbies@code5)(*tab3*)  
 *)  
399                              (rest5,code5@newbies)(*tab4*)                              (rest5,code5@newbies)(*tab4*)
 (*  
                             (code5,rest5@newbies)(*tab5*)  
                             (code5,newbies@rest5)(*tab6*)  
 *)  
400                          end                          end
401                  else  itercode(newbies,rest@[einapp3],code4@rest4@code,cnt+2)                  else  itercode(newbies,rest@[einapp3],code4@rest4@code,cnt+2)
402              end              end
403          val(rest,code)= itercode([einapp2],[],[],0)          val(rest,code)= itercode([einapp2],[],[],0)
404          in          in
405              (*fields2@rest@code (*A*)*)  
406                fields2@code@rest (*B*)                fields2@code@rest (*B*)
407          end          end
408    
# Line 419  Line 410 
410    
411    
412      fun iterAll(einapp2,fieldset)=let      fun iterAll(einapp2,fieldset)=let
413          val _=print"\nSplit All"  
414          fun itercode([],rest,code,_)=(rest,code)          fun itercode([],rest,code,_)=(rest,code)
415          | itercode(e1::newbies,rest,code,cnt)=let          | itercode(e1::newbies,rest,code,cnt)=let
416              val ((einapp3,code3),_) = split(e1,fieldset,numFlag)              val ((einapp3,code3),_) = split(e1,fieldset,numFlag)

Legend:
Removed from v.3378  
changed lines
  Added in v.3383

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