From dc9d2c64bc2948bfdff78f1d2abae45ec9b4972c Mon Sep 17 00:00:00 2001 From: Son Ho Date: Fri, 28 Jan 2022 01:52:58 +0100 Subject: Make a lot of small modifications --- src/PureMicroPasses.ml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/PureMicroPasses.ml') diff --git a/src/PureMicroPasses.ml b/src/PureMicroPasses.ml index aab19c11..3e04912a 100644 --- a/src/PureMicroPasses.ml +++ b/src/PureMicroPasses.ml @@ -2,6 +2,10 @@ open Errors open Pure +open TranslateCore + +(** The local logger *) +let log = L.pure_micro_passes_log type pn_ctx = string VarId.Map.t (** "pretty-name context": see [compute_pretty_names] *) @@ -297,3 +301,19 @@ let remove_meta (def : fun_def) : fun_def = in let body = obj#visit_expression () def.body in { def with body } + +(** Apply all the micro-passes to a function. + + [ctx]: used only for printing. + *) +let apply_passes_to_def (ctx : trans_ctx) (def : fun_def) : fun_def = + (* First, find names for the variables which are unnamed *) + let def = compute_pretty_names def in + log#ldebug (lazy ("compute_pretty_name:\n" ^ fun_def_to_string ctx def)); + + (* The meta-information is now useless: remove it *) + let def = remove_meta def in + log#ldebug (lazy ("remove_meta:\n" ^ fun_def_to_string ctx def)); + + (* We are done *) + def -- cgit v1.2.3