Skip to content

Commit d98717c

Browse files
committed
Compiler: simplify optimisation pass
We no longer need to end the "profile" optimisation pass (o1,o2,o3) with a specialize pass because we have one called unconditionally later in exact_calls.
1 parent a580d53 commit d98717c

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

compiler/lib/driver.ml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,11 @@ let specialize_js_once_after p =
7878
if debug () then Format.eprintf "Specialize js once...@.";
7979
Specialize_js.f_once_after p
8080

81-
let specialize' (p, info) =
81+
let specialize (p, info) =
8282
let p = specialize_1 (p, info) in
8383
let p = specialize_js (p, info) in
8484
p, info
8585

86-
let specialize p = fst (specialize' p)
87-
8886
let eval (p, info) = if Config.Flag.staticeval () then Eval.f info p else p
8987

9088
let flow p =
@@ -167,26 +165,24 @@ let o1 : 'a -> 'a =
167165
print
168166
+> tailcall
169167
+> flow
170-
+> specialize'
168+
+> specialize
171169
+> eval
172170
+> inline (* inlining may reveal new tailcall opt *)
173171
+> deadcode
174172
+> tailcall
175173
+> phi
176174
+> flow
177-
+> specialize'
175+
+> specialize
178176
+> eval
179177
+> inline
180178
+> deadcode
181179
+> print
182180
+> flow
183-
+> specialize'
181+
+> specialize
184182
+> eval
185183
+> inline
186184
+> deadcode
187185
+> phi
188-
+> flow
189-
+> specialize
190186
+> identity
191187

192188
(* o2 *)

0 commit comments

Comments
 (0)