blob: 706992408ddc525cd8565a7131c4f9933fe432db (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
open Iface
module type MAKE_NATURAL_LOOPS_ANALYSIS = functor () -> NATURAL_LOOPS_ANALYSIS
module type MAKE_SPILL_COSTS_ANALYSIS = functor () -> SPILL_COSTS_ANALYSIS
module type MAKE_LIVE_VARIABLES_ANALYSIS = functor () -> LIVE_VARIABLES_ANALYSIS
module type MAKE_DOMINANCE_ANALYSIS = functor () -> DOMINATORS_ANALYSIS
module type MAKE_REACHABILITY_ANALYSIS = functor () -> REACHABILITY_ANALYSIS
module type MAKE_CONSTANT_FOLDING_ANALYSIS = functor () -> CONSTANT_FOLDING_ANALYSIS
module type MAKE_SCHEDULER = functor () -> SCHEDULER
module type MAKE_INTERFERENCE_GRAPH_ANALYSIS = functor () -> INTERFERENCE_GRAPH_ANALYSIS
module type MAKE_REGISTER_ALLOCATOR = functor (T:COMPILER_TOOLBOX) -> REGISTER_ALLOCATOR
module type MAKE_CALLCONV = functor (T:COMPILER_TOOLBOX) -> CALLCONV
module type MAKE_CONSTANT_FOLDING = functor (T:COMPILER_TOOLBOX) -> CONSTANT_FOLDING
module type MAKE_DEAD_CODE_ELIMINATION = functor (T:COMPILER_TOOLBOX) -> DEAD_CODE_ELIMINATION
module type MAKE_TYPECHECKER = functor () -> TYPECHECKER
module type MAKE_TRANSLATOR = functor () -> TRANSLATOR
module type MAKE_JUMP_THREADING = functor () -> JUMP_THREADING
module type MAKE_CODEGEN = functor (T:COMPILER_TOOLBOX) -> CODEGEN
module type MAKE_HI_LOWER = functor (T:COMPILER_TOOLBOX) -> HI_LOWER
module type MAKE_MIPS_LOWER = functor (T:COMPILER_TOOLBOX) -> MIPS_LOWER
module type MAKE_SPILLING = functor () -> SPILLING
module type MAKE_REGISTER_COALESCING = functor () -> REGISTER_COALESCING
module type PLUGIN = sig
val version: string
val make_live_variables_analysis : (module MAKE_LIVE_VARIABLES_ANALYSIS) option
val make_dominators_analysis : (module MAKE_DOMINANCE_ANALYSIS) option
val make_natural_loops_analysis : (module MAKE_NATURAL_LOOPS_ANALYSIS) option
val make_spill_costs_analysis : (module MAKE_SPILL_COSTS_ANALYSIS) option
val make_scheduler : (module MAKE_SCHEDULER) option
val lexer_and_parser : (module LEXER_AND_PARSER) option
val make_typechecker : (module MAKE_TYPECHECKER) option
val make_translator : (module MAKE_TRANSLATOR) option
val make_jump_threading : (module MAKE_JUMP_THREADING) option
val make_constant_folding : (module MAKE_CONSTANT_FOLDING) option
val make_hilower : (module MAKE_HI_LOWER) option
val make_callconv : (module MAKE_CALLCONV) option
val make_mipslower : (module MAKE_MIPS_LOWER) option
val make_constant_folding_analysis : (module MAKE_CONSTANT_FOLDING_ANALYSIS) option
val make_register_allocator : (module MAKE_REGISTER_ALLOCATOR) option
val make_codegen : (module MAKE_CODEGEN) option
val make_dead_code_elimination : (module MAKE_DEAD_CODE_ELIMINATION) option
val make_interference_graph_analysis : (module MAKE_INTERFERENCE_GRAPH_ANALYSIS) option
val make_spilling: (module MAKE_SPILLING) option
val make_reachability_analysis: (module MAKE_REACHABILITY_ANALYSIS) option
val make_register_coalescing: (module MAKE_REGISTER_COALESCING ) option
end
|