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/MLRISC/IR/mlrisc-cfg-gen2.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/IR/mlrisc-cfg-gen2.sml

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

revision 468, Wed Nov 10 22:42:52 1999 UTC revision 498, Tue Dec 7 15:44:50 1999 UTC
# Line 10  Line 10 
10    (structure CFG : CONTROL_FLOW_GRAPH    (structure CFG : CONTROL_FLOW_GRAPH
11     structure InsnProps : INSN_PROPERTIES     structure InsnProps : INSN_PROPERTIES
12     structure MLTree : MLTREE     structure MLTree : MLTREE
   
    val codegen : CFG.cfg -> unit  
13       sharing CFG.I = InsnProps.I       sharing CFG.I = InsnProps.I
14       sharing MLTree.Constant = InsnProps.I.Constant       sharing MLTree.Constant = InsnProps.I.Constant
15       sharing MLTree.PseudoOp = CFG.P       sharing MLTree.PseudoOp = CFG.P
# Line 31  Line 29 
29    
30     type flowgraph = CFG.cfg     type flowgraph = CFG.cfg
31    
32     fun newStream() =     fun newStream{compile,flowgraph} =
33     let val cfg = ref(CFG.new(I.C.regmap()))     let val cfg = ref(case flowgraph of
34                           NONE => CFG.new(I.C.regmap())
35                         | SOME cfg => cfg
36                        )
37         val {stream,next} = Builder.builder(!cfg)         val {stream,next} = Builder.builder(!cfg)
38         val S.STREAM{beginCluster,endCluster,pseudoOp,emit,exitBlock,         val S.STREAM{beginCluster,endCluster,pseudoOp,emit,exitBlock,
39                      comment,annotation,defineLabel,entryLabel,alias,phi,...}                      comment,annotation,defineLabel,entryLabel,alias,phi,...}
# Line 57  Line 58 
58             val newCFG = CFG.new(I.C.regmap())             val newCFG = CFG.new(I.C.regmap())
59         in  cfg := newCFG;         in  cfg := newCFG;
60             next newCFG;             next newCFG;
61             codegen oldCFG             compile oldCFG
62         end         end
63    
64     in  S.STREAM{beginCluster= beginCluster,     in  S.STREAM{beginCluster= beginCluster,

Legend:
Removed from v.468  
changed lines
  Added in v.498

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