Memory SSA - A Unified Approach for Sparsely Representing Memory Operations
Click here to download now
Overview: Static Single Assignment (SSA) provides a spare data-flow representation for scalars, but it?s not well suited for representing objects of cumulative types like structures and arrays, or other memory operations like pointer dereferences and global storage. Several approaches have been proposed to incorporate memory operations into SSA [2, 4, 8, 11, 12]. In general, these approaches build a separate web structure of use-def or def-use chains that are factored very similarly to the basic SSA form. This paper presents a unified approach for representing both scalars and arbitrary memory expressions in an SSA form.