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/branches/idlbasis-devel/src/MLRISC/alpha/emit/alphaAsm.sml
ViewVC logotype

Diff of /sml/branches/idlbasis-devel/src/MLRISC/alpha/emit/alphaAsm.sml

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

revision 858, Wed Jun 27 21:20:27 2001 UTC revision 859, Wed Jun 27 21:43:12 2001 UTC
# Line 20  Line 20 
20    
21     val show_cellset = MLRiscControl.getFlag "asm-show-cellset"     val show_cellset = MLRiscControl.getFlag "asm-show-cellset"
22     val show_region  = MLRiscControl.getFlag "asm-show-region"     val show_region  = MLRiscControl.getFlag "asm-show-region"
23       val show_cutsTo = MLRiscControl.getFlag "asm-show-cutsto"
24     val indent_copies = MLRiscControl.getFlag "asm-indent-copies"     val indent_copies = MLRiscControl.getFlag "asm-indent-copies"
25    
26     fun error msg = MLRiscErrorMsg.error("AlphaAsmEmitter",msg)     fun error msg = MLRiscErrorMsg.error("AlphaAsmEmitter",msg)
# Line 49  Line 50 
50         fun entryLabel lab = defineLabel lab         fun entryLabel lab = defineLabel lab
51         fun comment msg = (tab(); emit("/* " ^ msg ^ " */"))         fun comment msg = (tab(); emit("/* " ^ msg ^ " */"))
52         fun annotation a = (comment(Annotations.toString a); nl())         fun annotation a = (comment(Annotations.toString a); nl())
53           fun getAnnotations() = error "getAnnotations"
54         fun doNothing _ = ()         fun doNothing _ = ()
55         fun emit_region mem = comment(I.Region.toString mem)         fun emit_region mem = comment(I.Region.toString mem)
56         val emit_region =         val emit_region =
# Line 64  Line 66 
66           if !show_cellset then emit_cellset else doNothing           if !show_cellset then emit_cellset else doNothing
67         fun emit_defs cellset = emit_cellset("defs: ",cellset)         fun emit_defs cellset = emit_cellset("defs: ",cellset)
68         fun emit_uses cellset = emit_cellset("uses: ",cellset)         fun emit_uses cellset = emit_cellset("uses: ",cellset)
69           val emit_cutsTo =
70             if !show_cutsTo then AsmFormatUtil.emit_cutsTo emit
71             else doNothing
72         fun emitter instr =         fun emitter instr =
73         let         let
74     fun emit_operand (I.REGop GP) = emitCell GP     fun emit_operand (I.REGop GP) = emitCell GP
# Line 350  Line 355 
355             emit ", (";             emit ", (";
356             emitCell b;             emitCell b;
357             emit ")" )             emit ")" )
358         | I.JSR{r, b, d, defs, uses, mem} =>         | I.JSR{r, b, d, defs, uses, cutsTo, mem} =>
359           ( emit "jsr\t";           ( emit "jsr\t";
360             emitCell r;             emitCell r;
361             emit ", (";             emit ", (";
# Line 358  Line 363 
363             emit ")";             emit ")";
364             emit_region mem;             emit_region mem;
365             emit_defs defs;             emit_defs defs;
366             emit_uses uses )             emit_uses uses;
367         | I.BSR{r, lab, defs, uses, mem} =>             emit_cutsTo cutsTo )
368           | I.BSR{r, lab, defs, uses, cutsTo, mem} =>
369           ( emit "bsr\t";           ( emit "bsr\t";
370             emitCell r;             emitCell r;
371             emit ", ";             emit ", ";
372             emit_label lab;             emit_label lab;
373             emit_region mem;             emit_region mem;
374             emit_defs defs;             emit_defs defs;
375             emit_uses uses )             emit_uses uses;
376               emit_cutsTo cutsTo )
377         | I.RET{r, b, d} =>         | I.RET{r, b, d} =>
378           ( emit "ret\t";           ( emit "ret\t";
379             emitCell r;             emitCell r;
# Line 387  Line 394 
394             emit_label lab )             emit_label lab )
395         | I.OPERATE{oper, ra, rb, rc} =>         | I.OPERATE{oper, ra, rb, rc} =>
396           let           let
397  (*#line 576.15 "alpha/alpha.mdl"*)  (*#line 578.15 "alpha/alpha.mdl"*)
398               fun disp () =               fun disp () =
399                   ( emit_operate oper;                   ( emit_operate oper;
400                     emit "\t";                     emit "\t";
# Line 493  Line 500 
500                  entryLabel=entryLabel,                  entryLabel=entryLabel,
501                  comment=comment,                  comment=comment,
502                  exitBlock=doNothing,                  exitBlock=doNothing,
503                  annotation=annotation                  annotation=annotation,
504                    getAnnotations=getAnnotations
505                 }                 }
506     end     end
507  end  end

Legend:
Removed from v.858  
changed lines
  Added in v.859

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