Compiler research and development has treated computation as the primary driver of performance improvements in C/C++ programs, leaving memory optimizations as a secondary consideration. Developers are currently handed the arduous task of describing both the semantics and layout of their data in memory, either manually or via libraries, prematurely lowering high-level data collections to a low-level view of memory for the compiler. Thus, the compiler can only glean conservative information about the memory in a program, e.g., alias analysis, and is further hampered by heavy memory optimizations. This paper proposes the Memory Object Intermediate Representation (MEMOIR), a language-agnostic SSA form for sequential and associative data collections, objects, and the fields contained therein. At the core of MEMOIR is a decoupling of the memory used to store data from that used to logically organize data. Through its SSA form, MEMOIR compilers can perform element-level analysis on data collections, enabling static analysis on the state of a collection or object at any given program point. To illustrate the power of this analysis, we perform dead element elimination, resulting in a 26.6% speedup on mcf from SPECINT 2017. With the degree of freedom to mutate memory layout, our MEMOIR compiler performs field elision and dead field elimination, reducing peak memory usage of mcf by 20.8%.
Tue 5 MarDisplayed time zone: London change
14:20 - 15:40 | Static/Dynamic AnalysesMain Conference at Tinto Chair(s): Laure Gonnord Univ. Grenoble Alpes, Grenoble INP, LCIS, Valence, France | ||
14:20 20mTalk | BEC: Bit-Level Static Analysis for Reliability against Soft Errors Main Conference Pre-print | ||
14:40 20mTalk | Boosting the Performance of Multi-solver IFDS Algorithms with Flow-Sensitivity Optimizations Main Conference Haofeng Li Institute of Computing Technology at Chinese Academy of Sciences, Jie Lu Institute of Computing Technology at Chinese Academy of Sciences, Haining Meng Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Liqing Cao Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Lian Li Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences; Zhongguancun Laboratory, Lin Gao TianqiSoft Pre-print | ||
15:00 20mTalk | Representing Data Collections in an SSA Form Main Conference Tommy McMichen Northwestern University, Nathan Greiner Northwestern University, Peter Zhong Northwestern University, Federico Sossai Northwestern University, Atmn Patel Northwestern University, Simone Campanoni Northwestern University Pre-print | ||
15:20 20mTalk | Revamping Sampling-Based PGO with Context-Sensitivity and Pseudo-instrumentation Main Conference |