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

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/driver/main.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/driver/main.sml

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

revision 3814, Wed May 4 14:26:07 2016 UTC revision 3860, Sat May 14 18:05:08 2016 UTC
# Line 6  Line 6 
6   * All rights reserved.   * All rights reserved.
7   *)   *)
8    
9    (* this is a dummy target for debugging purposes *)
10    structure DummyTarget =
11      struct
12    
13        fun info double = {
14                layout = DefaultLayout.layout (DefaultLayout.gccVectorSizes double),
15                isInline =
16                   fn LowOps.EigenVecs2x2 => false
17                    | LowOps.EigenVecs3x3 => false
18                    | LowOps.EigenVals2x2 => false
19                    | LowOps.EigenVals3x3 => false
20                    | _ => true
21              }
22    
23      end
24    
25  structure Main : sig  structure Main : sig
26    
27      val main : (string * string list) -> OS.Process.status      val main : (string * string list) -> OS.Process.status
# Line 98  Line 114 
114            val _ = verbosePrint["translating to HighIR ... "];            val _ = verbosePrint["translating to HighIR ... "];
115            val high = PhaseTimer.withTimer Timers.timeTranslate Translate.translate simple            val high = PhaseTimer.withTimer Timers.timeTranslate Translate.translate simple
116            val _ = verbosePrint["done\n"];            val _ = verbosePrint["done\n"];
117            val _ = dump Ctl.dumpHighIR HighPP.output "translate" high            val high = HighOptimizer.checkAfter ("simple-to-high translation", high)
118          (***** HIGH-IR OPTIMIZATION *****)          (***** HIGH-IR OPTIMIZATION *****)
119            val _ = verbosePrint["optimizing HighIR ... "];            val _ = verbosePrint["optimizing HighIR ... "];
120            val high = PhaseTimer.withTimer Timers.timeHigh HighOptimizer.optimize high            val high = PhaseTimer.withTimer Timers.timeHigh HighOptimizer.optimize high
# Line 107  Line 123 
123            val _ = verbosePrint["translating to MidIR ... "];            val _ = verbosePrint["translating to MidIR ... "];
124            val mid = PhaseTimer.withTimer Timers.timeHighToMid HighToMid.translate high            val mid = PhaseTimer.withTimer Timers.timeHighToMid HighToMid.translate high
125            val _ = verbosePrint["done\n"];            val _ = verbosePrint["done\n"];
126            val _ = dump Ctl.dumpMidIR MidPP.output "high-to-mid" mid            val mid = MidOptimizer.checkAfter ("high-to-mid translation", high)
127          (***** MID-IR OPTIMIZATION *****)          (***** MID-IR OPTIMIZATION *****)
128            val _ = verbosePrint["optimizing MidIR ... "];            val _ = verbosePrint["optimizing MidIR ... "];
129            val mid = PhaseTimer.withTimer Timers.timeMid MidOptimizer.optimize mid            val mid = PhaseTimer.withTimer Timers.timeMid MidOptimizer.optimize mid
# Line 116  Line 132 
132            val _ = verbosePrint["translating to LowIR ... "];            val _ = verbosePrint["translating to LowIR ... "];
133            val low = PhaseTimer.withTimer Timers.timeMidToLow MidToLow.translate mid            val low = PhaseTimer.withTimer Timers.timeMidToLow MidToLow.translate mid
134            val _ = verbosePrint["done\n"];            val _ = verbosePrint["done\n"];
135            val _ = dump Ctl.dumpLowIR LowPP.output "mid-to-low" low            val low = LowOptimizer.checkAfter ("mid-to-low translation", high)
136          (***** LOW-IR OPTIMIZATION *****)          (***** LOW-IR OPTIMIZATION *****)
137            val _ = verbosePrint["optimizing LowIR ... "];            val _ = verbosePrint["optimizing LowIR ... "];
138            val low = PhaseTimer.withTimer Timers.timeLow LowOptimizer.optimize low            val low = PhaseTimer.withTimer Timers.timeLow LowOptimizer.optimize low
139            val _ = verbosePrint["done\n"];            val _ = verbosePrint["done\n"];
140          (***** TRANSLATION TO TREE IR *****)          (***** TRANSLATION TO TREE IR *****)
 (* TODO *  
141            val _ = verbosePrint["translating to TreeIR ... "];            val _ = verbosePrint["translating to TreeIR ... "];
142            val tree = PhaseTimer.withTimer Timers.timeLowToTree LowToTree.translate low            val tree = PhaseTimer.withTimer Timers.timeLowToTree LowToTree.translate
143                    (low, DummyTarget.info (#double target))
144            val _ = verbosePrint["done\n"];            val _ = verbosePrint["done\n"];
145            val _ = dump Ctl.dumpLowIR TreePP.output "low-to-tree" tree            val _ = dump Ctl.dumpTreeIR TreePP.output "low-to-tree" tree
146  *)            val tree =
147            in            in
148            (***** CODE GENERATION *****)            (***** CODE GENERATION *****)
149  (* TODO *)()  (* TODO *)()

Legend:
Removed from v.3814  
changed lines
  Added in v.3860

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