File: SSA.cm

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (126 lines) | stat: -rw-r--r-- 2,337 bytes parent folder | download | duplicates (5)
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
(*
 *  This library implements the SSA optimizations.
 *)

Library 
	signature CFG2SSA
	signature SSA
	signature SSA2CFG
	signature SSA_CONDITIONAL_CONSTANT_PROPAGATION
	signature SSA_CONSTANT_FOLDING
	signature SSA_DATAFLOW_ANALYSIS
	signature SSA_FLOWGRAPH
	signature SSA_FLOWGRAPH_LIVENESS
	signature SSA_GLOBAL_CODE_MOTION
	signature SSA_GLOBAL_VALUE_NUMBERING
	signature SSA_INSTRGEN
	signature SSA_LIVENESS
	signature SSA_OPTIMIZATION
	signature SSA_PROPERTIES
	functor CFG2SSA
	functor SSA
	functor SSA2CFG
	functor SSACCP
	functor SSACPR
	functor SSACondConstProp
	functor SSAConstantFolding
	functor SSADCE
	functor SSADataflow
	functor SSAGCInvariants
	functor SSAGCM
	functor SSAGVN
	functor SSAGlobalValueNumbering
	functor SSAInstrGen
	functor SSALiveness
	functor SSAOSR
	functor SSAPRE
	functor SSAUntrap
is

#if defined(NEW_CM)
	basis.cm
#endif
	smlnj-lib.cm
	
	../control/Control.cm
	../library/Lib.cm
	../graphs/Graphs.cm
	../visualization/Visual.cm
	../ir/ir.cm
	../MLRISC.cm
	../IR/IR.cm
	../gc-safety/GC.cm
	../mltree/MLTREE.cm
	../mltree/RTL.cm
	../instructions/Region.cm
	
	(* The SSA representation *)
	ssa-flowgraph.sig
	ssa.sig
	ssa.sml

	(* Conversion between SSA and CFG *)
	cfg2ssa.sig
	cfg2ssa.sml
	ssa2cfg.sig
	ssa2cfg.sml
	ssa-liveness.sig
	ssa-liveness.sml

        (* Build an SSA graph directly (doesn't work!) *) 
	(* ssa-gen.sml *)

	(* Machine properties for SSA *)
	ssa-props.sig

	(*==== Analyses and transformations on SSA ====*)

	(* Constant folding and algebraic simplification *)
	ssa-const-folding.sig
	ssa-const-folding.sml

	(* Compute global value numbers *)
	ssa-gvn-basis.sig
	ssa-gvn-basis.sml

	(* Compute conditional constants  *)
	ssa-ccp-basis.sig
	ssa-ccp-basis.sml

	(* Dataflow analysis *)
	ssa-dataflow.sig
	ssa-dataflow.sml

	(* Instruction generation *)
	ssa-instrgen.sig
	ssa-instrgen.sml

	(*==== Actual Optimization Phases ====*)
	ssa-optimization.sig

	(* Dead code elimination *)
	ssa-dce.sml

	(* Global code motion *)
	ssa-gcm.sml

	(* Global value numbering *)
	ssa-gvn.sml

	(* Operator Strength Reduction *) 
	ssa-osr.sml

	(* Conditional Constant Propagation *)
	ssa-ccp.sml

	(* Critical Path Reduction *)
	ssa-cpr.sml

	(* Remove Trapping Arithmetic *)
	ssa-untrap.sml

	(* Partial Redundancy Elimination *)
	ssa-pre.sml

	(* GC Safety *)
	ssa-gc-invariants.sml