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/emit/clusterEmit.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/emit/clusterEmit.sml

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

revision 428, Wed Sep 8 09:47:00 1999 UTC revision 469, Wed Nov 10 22:42:52 1999 UTC
# Line 9  Line 9 
9        where I = F.I and P = F.P) : ASSEMBLY_EMITTER =        where I = F.I and P = F.P) : ASSEMBLY_EMITTER =
10  struct  struct
11    type flowgraph = F.cluster    type flowgraph = F.cluster
12    fun asmEmit(F.CLUSTER{blocks,regmap,...}) =    fun asmEmit(F.CLUSTER{blocks,regmap,annotations=an,...}) =
13    let val E.S.STREAM{pseudoOp,defineLabel,emit,...} = E.makeStream []    let val E.S.STREAM{pseudoOp,defineLabel,emit,annotation,...} =
14                 E.makeStream []
15        val emit = emit(E.I.C.lookup regmap)        val emit = emit(E.I.C.lookup regmap)
16        fun emitIt(F.PSEUDO pOp) = pseudoOp pOp        fun emitIt(F.PSEUDO pOp) = pseudoOp pOp
17          | emitIt(F.LABEL lab)  = defineLabel lab          | emitIt(F.LABEL lab)  = defineLabel lab
18          | emitIt(F.BBLOCK{insns, ...}) = app emit (rev (!insns))          | emitIt(F.BBLOCK{insns, annotations=a, ...}) =
19    in  app emitIt blocks            (app annotation (!a);
20               app emit (rev (!insns))
21              )
22      in  app annotation (!an);
23          app emitIt blocks
24    end    end
25  end  end
26    

Legend:
Removed from v.428  
changed lines
  Added in v.469

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