Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/MLRISC/control/mlrisc-control.sml
ViewVC logotype

Annotation of /sml/trunk/src/MLRISC/control/mlrisc-control.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 168 - (view) (download)

1 : monnier 16 signature MLRISC_CONTROL =
2 :     sig
3 :    
4 :     val arch : string ref (* machine architecture *)
5 :    
6 :     val mlrisc : bool ref (* use the MLRISC optimizer? *)
7 :     val mlrisc_phases : string list ref (* the optimization phases *)
8 :     val show : (unit -> unit) ref (* describe the phases *)
9 :     val debug_stream : TextIO.outstream ref (* debugging output goes here *)
10 :     val debug_msg : bool ref (* print debug messages? *)
11 :     val verbose : bool ref (* verbose? *)
12 :     val view_IR : bool ref
13 :     val dump_IR : bool ref
14 :     val on : (unit -> unit) ref (* turns on MLRISC *)
15 :     val off : (unit -> unit) ref (* turns off MLRISC *)
16 :     val init : (unit -> unit) ref (* setup the system *)
17 :     val int_spills : int ref
18 :     val int_reloads : int ref
19 :     val float_spills : int ref
20 :     val float_reloads : int ref
21 : monnier 167 val ssa_repair1 : int ref
22 :     val ssa_repair2 : int ref
23 :     val ssa_repair3 : int ref
24 :     val ssa_repair4 : int ref
25 :     val ssa_repair5 : int ref
26 :     val ssa_repair6 : int ref
27 : monnier 16
28 :     (* profiling support *)
29 :     val loop_multiplier : int ref
30 :    
31 :     (* scheduling/optimizer flags *)
32 :     val nontrapping_arithmetic : bool ref
33 :     val load_speculation : bool ref
34 :     val fill_branch_delay_slot : bool ref
35 :     val reorder_code_layout : bool ref
36 :     val scheduling_algorithm : string ref
37 :     val freq_variance : int ref
38 :    
39 :     structure Visual : MLRISC_VIEW_STYLE
40 :     structure Timing : MLRISC_TIMING
41 :     structure Profiling : MLRISC_PROFILING
42 :     end
43 :    
44 :     structure MLRISC_Control : MLRISC_CONTROL =
45 :     struct
46 :     structure Visual = MLRISC_ViewStyle
47 :     structure Timing = MLRISC_Timing
48 :     structure Profiling = MLRISC_Profiling
49 :    
50 :     val arch = ref "default"
51 :     val mlrisc = ref false
52 :     val mlrisc_phases = ref [] : string list ref
53 :     val show = ref (fn () => ())
54 :     val debug_stream = ref TextIO.stdOut
55 :     val debug_msg = ref false
56 :     val view_IR = ref false
57 :     val dump_IR = ref false
58 :     val verbose = ref false
59 :     val init = ref (fn () => ())
60 :     val on = ref (fn () => (!init(); mlrisc := true))
61 :     val off = ref (fn () => mlrisc := false)
62 :     val int_spills = ref 0
63 :     val int_reloads = ref 0
64 :     val float_spills = ref 0
65 :     val float_reloads = ref 0
66 : monnier 167 val ssa_repair1 = ref 0
67 :     val ssa_repair2 = ref 0
68 :     val ssa_repair3 = ref 0
69 :     val ssa_repair4 = ref 0
70 :     val ssa_repair5 = ref 0
71 :     val ssa_repair6 = ref 0
72 : monnier 16
73 :     val loop_multiplier = ref 10
74 :     val nontrapping_arithmetic = ref false
75 :     val load_speculation = ref false
76 :     val fill_branch_delay_slot = ref false
77 :     val reorder_code_layout = ref false
78 :     val scheduling_algorithm = ref "bernstein-rodeh"
79 :     val freq_variance = ref 100
80 :     end
81 :    
82 :     (*
83 : monnier 167 * $Log: mlrisc-control.sml,v $
84 :     * Revision 1.1.1.1 1998/04/08 18:39:01 george
85 :     * Version 110.5
86 :     *
87 : monnier 16 *)

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