Skip to content

Commit 6c5705d

Browse files
committed
Single deadcode pass per round
1 parent a34bd2f commit 6c5705d

File tree

2 files changed

+72
-68
lines changed

2 files changed

+72
-68
lines changed

compiler/lib/driver.ml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,19 @@ let deadcode' p =
4545
Deadcode.f pure_fun p
4646

4747
let deadcode p =
48-
let p, _ = deadcode' p in
4948
let p = Deadcode.merge_blocks p in
5049
let p = Code.compact p in
5150
p
5251

5352
let inline profile p =
54-
if Config.Flag.inline () && Config.Flag.deadcode ()
55-
then (
53+
if Config.Flag.deadcode ()
54+
then
5655
let p, live_vars = deadcode' p in
57-
if debug () then Format.eprintf "Inlining...@.";
58-
Inline.f ~profile p live_vars)
56+
if Config.Flag.inline ()
57+
then (
58+
if debug () then Format.eprintf "Inlining...@.";
59+
Inline.f ~profile p live_vars)
60+
else p
5961
else p
6062

6163
let specialize_1 (p, info) =

0 commit comments

Comments
 (0)