MimIR: An Extensible and Type-Safe Intermediate Representation for the DSL Age
Roland Lei{\ss}a, Marcel Ulrich, Joachim Meyer, Sebastian Hack

TL;DR
MimIR is a flexible, type-safe intermediate representation for DSL compilers that allows easy extension with new domain-specific operations, enabling optimized code generation across various application domains.
Contribution
MimIR introduces a typed lambda calculus-based IR that supports extensible, plugin-based addition of domain-specific operations with guaranteed type safety.
Findings
MimIR achieves state-of-the-art performance in three diverse case studies.
Plugins extend MimIR at various abstraction levels, demonstrating flexibility.
Code generated with MimIR is efficient across different application domains.
Abstract
Traditional compilers, designed for optimizing low-level code, fall short when dealing with modern, computation-heavy applications like image processing, machine learning, or numerical simulations. Optimizations should understand the primitive operations of the specific application domain and thus happen on that level. Domain-specific languages (DSLs) fulfill these requirements. However, DSL compilers reinvent the wheel over and over again as standard optimizations, code generators, and general infrastructure & boilerplate code must be reimplemented for each DSL compiler. This paper presents MimIR, an extensible, higher-order intermediate representation. At its core, MimIR is a pure type system and, hence, a form of a typed lambda calculus. Developers can declare the signatures of new (domain-specific) operations, called "axioms". An axiom can be the declaration of a function, a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
