diff --git a/src/check_ir.ml b/src/check_ir.ml index 7f32b1d7e83..9069ae41dd4 100644 --- a/src/check_ir.ml +++ b/src/check_ir.ml @@ -794,7 +794,7 @@ and gather_dec env scope dec : scope = (* Programs *) -let check_prog scope ((decs, flavor) as prog) : unit = +let check_prog scope phase ((decs, flavor) as prog) : unit = let env = env_of_scope scope flavor in try ignore (check_block env T.unit decs no_region) @@ -802,12 +802,12 @@ let check_prog scope ((decs, flavor) as prog) : unit = let bt = Printexc.get_backtrace () in if !Flags.verbose then begin - Printf.eprintf "Ill-typed intermediate code:\n"; + Printf.eprintf "Ill-typed intermediate code after %s:\n" phase; Printf.eprintf "%s" (Wasm.Sexpr.to_string 80 (Arrange_ir.prog prog)); Printf.eprintf "%s" s; Printf.eprintf "%s" bt; end else begin - Printf.eprintf "Ill-typed intermediate code (use -v to see dumped IR):\n"; + Printf.eprintf "Ill-typed intermediate code after %s (use -v to see dumped IR):\n" phase; Printf.eprintf "%s" s; Printf.eprintf "%s" bt; end; diff --git a/src/check_ir.mli b/src/check_ir.mli index 9203122e85a..edb6264fa51 100644 --- a/src/check_ir.mli +++ b/src/check_ir.mli @@ -1,2 +1 @@ -val check_prog : Typing.scope -> Ir.prog -> unit - +val check_prog : Typing.scope -> string -> Ir.prog -> unit diff --git a/src/pipeline.ml b/src/pipeline.ml index d512bec7c3c..ec9fca4cb56 100644 --- a/src/pipeline.ml +++ b/src/pipeline.ml @@ -123,8 +123,7 @@ let transform_ir transform_name transform flag env prog name = phase transform_name name; let prog' : Ir.prog = transform prog in dump_ir Flags.dump_lowering prog'; - (* Check_ir.check_prog env prog; *) - Check_ir.check_prog env prog'; + Check_ir.check_prog env transform_name prog; prog' end else prog @@ -292,7 +291,7 @@ let compile_with check mode name : compile_result = Diag.print_messages msgs; let prelude = Desugar.transform Typing.empty_scope prelude in let prog = Desugar.transform initial_stat_env prog in - Check_ir.check_prog initial_stat_env prog; + Check_ir.check_prog initial_stat_env "desugaring" prog; let prog = await_lowering true initial_stat_env prog name in let prog = async_lowering true initial_stat_env prog name in let prog = tailcall_optimization true initial_stat_env prog name in