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/branches/SMLNJ/src/MLRISC/control/mlrisc-control.sml
ViewVC logotype

Annotation of /sml/branches/SMLNJ/src/MLRISC/control/mlrisc-control.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 93 - (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 :    
22 :     (* profiling support *)
23 :     val loop_multiplier : int ref
24 :    
25 :     (* scheduling/optimizer flags *)
26 :     val nontrapping_arithmetic : bool ref
27 :     val load_speculation : bool ref
28 :     val fill_branch_delay_slot : bool ref
29 :     val reorder_code_layout : bool ref
30 :     val scheduling_algorithm : string ref
31 :     val freq_variance : int ref
32 :    
33 :     structure Visual : MLRISC_VIEW_STYLE
34 :     structure Timing : MLRISC_TIMING
35 :     structure Profiling : MLRISC_PROFILING
36 :     end
37 :    
38 :     structure MLRISC_Control : MLRISC_CONTROL =
39 :     struct
40 :     structure Visual = MLRISC_ViewStyle
41 :     structure Timing = MLRISC_Timing
42 :     structure Profiling = MLRISC_Profiling
43 :    
44 :     val arch = ref "default"
45 :     val mlrisc = ref false
46 :     val mlrisc_phases = ref [] : string list ref
47 :     val show = ref (fn () => ())
48 :     val debug_stream = ref TextIO.stdOut
49 :     val debug_msg = ref false
50 :     val view_IR = ref false
51 :     val dump_IR = ref false
52 :     val verbose = ref false
53 :     val init = ref (fn () => ())
54 :     val on = ref (fn () => (!init(); mlrisc := true))
55 :     val off = ref (fn () => mlrisc := false)
56 :     val int_spills = ref 0
57 :     val int_reloads = ref 0
58 :     val float_spills = ref 0
59 :     val float_reloads = ref 0
60 :    
61 :     val loop_multiplier = ref 10
62 :     val nontrapping_arithmetic = ref false
63 :     val load_speculation = ref false
64 :     val fill_branch_delay_slot = ref false
65 :     val reorder_code_layout = ref false
66 :     val scheduling_algorithm = ref "bernstein-rodeh"
67 :     val freq_variance = ref 100
68 :     end
69 :    
70 :     (*
71 :     * $Log: mlrisc-control.sml,v $
72 : monnier 93 * Revision 1.1.1.1 1998/04/08 18:39:01 george
73 :     * Version 110.5
74 : monnier 16 *
75 :     *)

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