SSA Construction
Simple and Efficient Construction of Static Single Assignment Form
About
We present a simple SSA construction algorithm, which allows direct translation from an abstract syntax tree or bytecode into an SSA-based intermediate representation. The algorithm requires no prior analysis and ensures that even during construction the intermediate representation is in SSA form. This allows the application of SSA-based optimizations during construction. After completion, the intermediate representation is in minimal and pruned SSA form. In spite of its simplicity, the runtime of our algorithm is on par with Cytron et al.’s algorithm.
Links
- clang: a C language family frontend for LLVM
- The LLVM Compiler Infrastructure
- Our patches to clang available in our Redmine repository
- Our patches to LLVM available in our Redmine repository
- Programming paradigms group - IPD Snelting at the Karlsruhe Institute of Technology
- libFirm: A C compiler using our technique