Skip to content

Commit 854b1f4

Browse files
committed
Compiler: fix toplevel with globaldeacode
1 parent 1f29da6 commit 854b1f4

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

compiler/lib/global_deadcode.ml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,15 @@ let liveness prog pure_funs (global_info : Global_flow.info) =
246246
| Stop | Branch _ | Poptrap _ | Pushtrap _ -> ()
247247
in
248248
Addr.Map.iter (fun _ block -> live_block block) prog.blocks;
249+
Code.traverse
250+
{ Code.fold = Code.fold_children }
251+
(fun pc () ->
252+
match Addr.Map.find pc prog.blocks with
253+
| { branch = Return x, _; _ } -> add_top x
254+
| _ -> ())
255+
prog.start
256+
prog.blocks
257+
();
249258
live_vars
250259

251260
(* Returns the set of variables given a table of variables. *)

0 commit comments

Comments
 (0)