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/ra/cluster-ra.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/ra/cluster-ra.sml

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

revision 983, Wed Nov 21 18:44:55 2001 UTC revision 984, Wed Nov 21 19:00:08 2001 UTC
# Line 10  Line 10 
10   *)   *)
11    
12  functor ClusterRA  functor ClusterRA
13     (structure Flowgraph : CONTROL_FLOW_GRAPH     (structure Asm       : INSTRUCTION_EMITTER
14      structure Asm       : INSTRUCTION_EMITTER      structure Flowgraph : CONTROL_FLOW_GRAPH
15                          where I = Flowgraph.I                          where I = Asm.I
16                            and P = Flowgraph.P                            and P = Asm.S.P
17      structure InsnProps : INSN_PROPERTIES      structure InsnProps : INSN_PROPERTIES
18                          where I = Flowgraph.I                          where I = Flowgraph.I
19      structure Spill : RA_SPILL      structure Spill : RA_SPILL
# Line 65  Line 65 
65    
66     fun dumpFlowgraph(txt, cfg as Graph.GRAPH graph, outstrm) = let     fun dumpFlowgraph(txt, cfg as Graph.GRAPH graph, outstrm) = let
67       fun say txt = TextIO.output(outstrm, txt)       fun say txt = TextIO.output(outstrm, txt)
68       fun dump (nid, CFG.BLOCK{data, labels, insns, ...}) = let       fun sayPseudo p = (say(CFG.P.toString p); say "\n")
69         fun dumpData(CFG.LABEL lab) = say(Label.toString lab ^ "\n")       val labToString = CFG.P.Client.AsmPseudoOps.defineLabel
70           | dumpData(CFG.PSEUDO pOp) = say(CFG.P.toString pOp ^ "\n")       fun dump (nid, CFG.BLOCK{labels, align, insns, ...}) =
71           (case !align of NONE => () | SOME p => sayPseudo p;
72            app (fn lab => say(labToString lab ^ "\n")) (!labels);
73            app emit (rev (!insns)))
74         val CFG.INFO{data, ...} = #graph_info graph
75       in       in
76         app dumpData (!data);         app dump (#nodes graph ());
77         app (fn lab => say(Label.toString lab ^ "\n")) (!labels);         app sayPseudo (rev(!data))
78         app emit (rev (!insns))  
      end  
    in app dump (#nodes graph ())  
79     end     end
80    
81     val annotations = CFG.annotations     val annotations = CFG.annotations

Legend:
Removed from v.983  
changed lines
  Added in v.984

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