Back to Search Start Over

Towards Constructing the SSA form using Reaching Definitions Over Dominance Frontiers

Authors :
Abu Naser Masud
Federico Ciccozzi
Source :
SCAM
Publication Year :
2019
Publisher :
IEEE, 2019.

Abstract

The Static Single Assignment (SSA) form is an intermediate representation used for the analysis and optimization of programs in modern compilers. The ϕ-function placement is the most computationally expensive part of converting any program into its SSA form. The most widely-used ϕ-function placement algorithms are based on computing dominance frontiers. However, this kind of algorithms works under the limiting assumption that all variables are defined at the beginning of the program, which is not the case for local variables. In this paper, we introduce an innovative algorithm based on computing reaching definitions, only assuming that global variables and formal parameters are defined at the beginning of the program. We implemented our algorithm and compared it to a well-known dominance frontiers-based algorithm in the Clang/LLVM compiler framework by performing experiments on a benchmarking suite for Perl. The results of our experiments show that, besides a few computationally expensive cases, our algorithm is fairly efficient, and most notably it produces up to 169% and on an average 74% fewer ϕ-functions than the reference dominance frontiers-based algorithm.

Details

Database :
OpenAIRE
Journal :
2019 19th International Working Conference on Source Code Analysis and Manipulation (SCAM)
Accession number :
edsair.doi...........bbfcac1d75a6ef4619c67caf1444cc8f
Full Text :
https://doi.org/10.1109/scam.2019.00012