Detecting equality of variables in programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Global value numbers and redundant computations
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic construction of sparse data flow evaluation graphs
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
The program structure tree: computing control regions in linear time
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Single-pass generation of static single-assignment form for structured languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
A linear time algorithm for placing &phgr;-nodes
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficiently computing Φ-nodes on-the-fly
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new algorithm for partial redundancy elimination based on SSA form
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Modern compiler implementation in Java
Modern compiler implementation in Java
ACM SIGPLAN Notices
Advanced compiler design and implementation
Advanced compiler design and implementation
Building an optimizing compiler
Building an optimizing compiler
Efficiency of a Good But Not Linear Set Union Algorithm
Journal of the ACM (JACM)
Code motion of control structures in high-level languages
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
Program optimization - theory and practice
Proceedings of the conference on Programming languages and compilers for parallel and vector machines
Flow-sensitive pointer analysis for millions of lines of code
CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization
Constraint-Based register allocation and instruction scheduling
CP'12 Proceedings of the 18th international conference on Principles and Practice of Constraint Programming
Simple and efficient construction of static single assignment form
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Formal verification of SSA-based optimizations for LLVM
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Hardware design space exploration using HercuLeS HLS
Proceedings of the 17th Panhellenic Conference on Informatics
Compiling Scilab to high performance embedded multicore systems
Microprocessors & Microsystems
Formal Verification of an SSA-Based Middle-End for CompCert
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
The static single-assignment (SSA) form of a program provides data flow information in a form which makes some compiler optimizations easy to perform. In this paper we present a new, simple method for convertingto SSA form, which produces correct solutions for nonreducible control-flow graphs, and produces minimal solutions for reducible ones. Our timing results show that, despite its simplicity, our algorithm is competitive with more established techniques.