Compilation pipeline -------------------- ### `compile` `parse` → `optimize` Parse produced IR without offsets and optimize produces flattened IR. For more details about Gir's IR, see `ir.md`. For more details about `compile()` see `api.md` ### `optimize` `joinAdjacentOps` → `transformClearLoops` → `addOffsetProperties` → `transformMultiplyLoops` → `flattenLoops` For more details about optimization, see `optimizations.md` Interpreter ----------- For more details about `newVM()` and `runVM()` see `api.md` ### `newVM` Created a new VM state object that can be passed to `runVM()` ### `runVM` Takes a VM state object, executed it, and returns a new VM state object describing the state after execution. The old state object is not modified