From 58827f230d8d992c996a3fec648a6bb6a32ebd9b Mon Sep 17 00:00:00 2001 From: tali Date: Wed, 29 Nov 2023 23:05:47 -0500 Subject: [PATCH] prettier printing for basic block labels --- lib/runtime/code.ml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/runtime/code.ml b/lib/runtime/code.ml index e1c6bde..60ea167 100644 --- a/lib/runtime/code.ml +++ b/lib/runtime/code.ml @@ -116,7 +116,10 @@ let pp_ins ~label ppf = function | CON (l, vt) -> Fmt.pf ppf "con %a, %a" pp_reg l pp_vtable vt | GET (o, s) -> Fmt.pf ppf "mov %a, %a[%a]" pp_reg s pp_reg o pp_reg s | SET (o, s) -> Fmt.pf ppf "mov %a[%a], %a" pp_reg o pp_reg s pp_reg (s + 1) - | CBR (v, b1, b2) -> Fmt.pf ppf "cbr %a, %s, %s" pp_operand v (label b1) (label b2) + | CBR (v, b1, b2) -> + let l1 = label b1 in + let l2 = label b2 in + Fmt.pf ppf "cbr %a, %s, %s" pp_operand v l1 l2 | RET -> Fmt.pf ppf "ret" | JMP l -> Fmt.pf ppf "jmp %s" (label l) @@ -130,7 +133,7 @@ let pp_program ppf pr = | exception Not_found -> let name = Fmt.str "L%d" (List.length !basic_blocks - 1) in basic_blocks := (bb, name) :: !basic_blocks; - work_list := bb :: !work_list; + work_list := !work_list @ [ bb ]; name in let rec loop i =