MEMOIR

MEMOIR is a compiler intermediate representation for data collections (list, set, map). MEMOIR is in single static assignment (SSA) form, making static analysis both simple and cheap to compute. By decoupling the logical organization of data from its memory layout, MEMOIR enables the compiler to perform novel memory optimizations.

Learn More

Interested in learning more? Check out the open-source compiler.

Want more details? Check out the getting started guide, or the documentation.

Publications

Automatic Data Enumeration for Fast Data Collections
CGO 2026 | PDF | DOI|
availablereusablereproduced
Tommy McMichen, Simone Campanoni.

Representing Data Collections in an SSA Form
CGO 2024 | PDF | DOI|
availablereusablereproduced
Tommy McMichen, Nathan Greiner, Peter Zhong, Federico Sossai, Atmn Patel, Simone Campanoni.