Skip to content

Commit 575e40d

Browse files
authored
flambda-backend: Enhancements to Lambda printing for unboxed products (#2574)
Enhancements to ocaml/lambda/printlambda.ml (cherry picked from commit 1820c76)
1 parent 22911e5 commit 575e40d

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

lambda/printlambda.ml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ and value_kind' ppf = function
182182
| Pvariant { consts; non_consts; } ->
183183
variant_kind value_kind' ppf ~consts ~non_consts
184184

185-
let rec layout is_top ppf layout_ =
185+
let rec layout' is_top ppf layout_ =
186186
match layout_ with
187187
| Pvalue k -> (if is_top then value_kind else value_kind') ppf k
188188
| Ptop -> fprintf ppf "[top]"
@@ -191,11 +191,11 @@ let rec layout is_top ppf layout_ =
191191
| Punboxed_int bi -> fprintf ppf "[unboxed_%s]" (boxed_integer_name bi)
192192
| Punboxed_vector (Pvec128 v) -> fprintf ppf "[unboxed_%s]" (vec128_name v)
193193
| Punboxed_product layouts ->
194-
fprintf ppf "@[<hov 1>[%a]@]"
195-
(pp_print_list ~pp_sep:(fun ppf () -> fprintf ppf ",@ ") (layout false))
194+
fprintf ppf "@[<hov 1>#(%a)@]"
195+
(pp_print_list ~pp_sep:(fun ppf () -> fprintf ppf ",@ ") (layout' false))
196196
layouts
197197

198-
let layout ppf layout_ = layout true ppf layout_
198+
let layout ppf layout_ = layout' true ppf layout_
199199

200200
let return_kind ppf (mode, kind) =
201201
let smode = alloc_mode_if_local mode in
@@ -504,11 +504,13 @@ let primitive ppf = function
504504
| Presume -> fprintf ppf "resume"
505505
| Preperform -> fprintf ppf "reperform"
506506
| Pmake_unboxed_product layouts ->
507-
fprintf ppf "make_unboxed_product [%a]"
508-
(pp_print_list ~pp_sep:(fun ppf () -> fprintf ppf ", ") layout) layouts
507+
fprintf ppf "make_unboxed_product #(%a)"
508+
(pp_print_list ~pp_sep:(fun ppf () -> fprintf ppf ", ") (layout' false))
509+
layouts
509510
| Punboxed_product_field (n, layouts) ->
510-
fprintf ppf "unboxed_product_field %d [%a]" n
511-
(pp_print_list ~pp_sep:(fun ppf () -> fprintf ppf ", ") layout) layouts
511+
fprintf ppf "unboxed_product_field %d #(%a)" n
512+
(pp_print_list ~pp_sep:(fun ppf () -> fprintf ppf ", ") (layout' false))
513+
layouts
512514
| Pccall p -> fprintf ppf "%s" p.prim_name
513515
| Praise k -> fprintf ppf "%s" (Lambda.raise_kind k)
514516
| Psequand -> fprintf ppf "&&"

0 commit comments

Comments
 (0)