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 MemOIR
Tommy McMichen.Greater Chicago Area Systems Systems Workshop, 2025.
LLVM Developers' Meeting, 2025.