LaminarIR is a lower-level intermediate representation (IR)
for stream
programming. In LaminarIR, named tokens are used for
data communication among nodes instead of FIFO (first-in, first-out)
semantics. This new approach shifts the FIFO buffer management from
run-time to compile-time and provides sufficiently low abstraction
of dataflow for LLVM to promote all token variables to SSA form.
The LaminarIR framework enables a new compiler transformation
that shifts FIFO buffer management from run-time to compile-time.
The LaminarIR framework and the benchmarks for performance
evaluation are available at
https://github.com/LaminarIR/framework