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