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.
Team Members
Simone Campanoni — FacultyTommy McMichen — Project Lead
Yian Su — Graduate Student
Benjamin Ye — Masters Student
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 Tommy McMichen, Simone Campanoni.Representing Data Collections in an SSA Form Tommy McMichen, Nathan Greiner, Peter Zhong, Federico Sossai, Atmn Patel, Simone Campanoni.
Posters
Collection-Oriented Compilation with MemOIRGreater Chicago Area Systems Systems Workshop, 2025.
LLVM Developers' Meeting, 2025.
Tommy McMichen.