You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: arrayjit/lib/lowering_and_inlining.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ The low-level representation is a C-like mini-language operating on scalars.
47
47
type t =
48
48
| Noop
49
49
| Comment of string
50
-
| Staged_compilation of (unit -> unit)
50
+
| Staged_compilation of (unit -> PPrint.document)
51
51
| Seq of t * t
52
52
| For_loop of { index : Indexing.symbol; from_ : int; to_ : int; body : t; trace_it : bool }
53
53
| Zero_out of Tnode.t
@@ -70,7 +70,7 @@ and float_t =
70
70
| Embed_index of Indexing.axis_index
71
71
```
72
72
73
-
The odd part is the `Staged_compilation` element. Backends with an imperative compilation procedure, e.g. using the `Stdlib.Format` module, can use `Staged_compilation` to embed some emitted code within on-the-fly generated `Low_level.t` code.
73
+
The odd part is the `Staged_compilation` element. Backends can use `Staged_compilation` to embed some emitted code within on-the-fly generated `Low_level.t` code. Currently this works only for `PPrint.document` based backends like `C_syntax` derivatives, but this covers almost all backends.
0 commit comments