Filters








6,009 Hits in 5.3 sec

Effective function merging in the SSA form

Rodrigo C. O. Rocha, Pavlos Petoumenos, Zheng Wang, Murray Cole, Hugh Leather
2020 Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation  
We present SalSSA, a novel approach that fully supports the SSA form, removing any need for register demotion. By doing so, we notably increase the number of proitably merged functions.  ...  While initially limited to identical or trivially similar functions, the most recent approach can identify all merging opportunities in arbitrary pairs of functions.  ...  Our work falls into the latter category. Function Merging Link-time code optimizers like [1, 19, 31] merge text-identical functions at the bit level.  ... 
doi:10.1145/3385412.3386030 dblp:conf/pldi/RochaP0CL20 fatcat:am6isjg4lfbf5mrdou2xa3vxzi

Array SSA form and its use in parallelization

Kathleen Knobe, Vivek Sarkar
1998 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98  
Array SSA form achieves this level of generality by making manifest its 4 functions as runtime computations in cases that are not amenable to compile-time analysis.  ...  It has simpliied the design of some optimizations and has made other optimizations more effective. Unfortunately none of thii can be be said for SSA form for arrays.  ...  In addition, we would like to thank Bert Halstead for suggesting the graphics algorithm, Satyan Coorg for help in accessing and understanding the graphics code.  ... 
doi:10.1145/268946.268956 dblp:conf/popl/KnobeS98 fatcat:qclo333cp5dvdbddpx3i2iie5i

Automatic Extraction of Coarse-Grained Data-Flow Threads from Imperative Programs

Feng Li, Antoniu Pop, Albert Cohen
2012 IEEE Micro  
Our algorithm operates on a program dependence graph in SSA form, extracting task, pipeline, and data parallelism from arbitrary control flow, and coarsening its granularity using a generalized form of  ...  A GCC-based prototype is applied to the automatic parallelization of recursive C programs.  ...  Acknowledgments This work was partly funded by the European FP7 project TERAFLUX id. 249013.  ... 
doi:10.1109/mm.2012.49 fatcat:2alvxsbibzf3fc7gzzlzzrtfba

Practical Extensions to the IFDS Algorithm [chapter]

Nomair A. Naeem, Ondřej Lhoták, Jonathan Rodriguez
2010 Lecture Notes in Computer Science  
The third extension improves the precision with which φ instructions are modelled when analyzing a program in SSA form.  ...  The second extension provides the procedure-return flow function with additional information about the program state before the procedure was called.  ...  To analyze SSA-form code as precisely as non-SSA-form code, the merge must be delayed until after the φ instruction.  ... 
doi:10.1007/978-3-642-11970-5_8 fatcat:5oljooadrfairfpy3t4v7wcnpy

Practical improvements to the construction and destruction of static single assignment form

Preston Briggs, Keith D. Cooper, Timothy J. Harvey, L. Taylor Simpson
1998 Software, Practice & Experience  
To convert code in SSA form back into an executable form, the compiler must use an algorithm that replaces φ-functions with appropriately-placed copy instructions.  ...  We present experimental results that demonstrate the effectiveness of the first two improvements not only during the construction of SSA form, but also in the time saved by subsequent optimization passes  ...  The work described in this paper has been done as part of the Massively Scalar Compiler Project at Rice University. The many people who have contributed to that project deserve our gratitude.  ... 
doi:10.1002/(sici)1097-024x(19980710)28:8<859::aid-spe188>3.0.co;2-8 fatcat:j7zfhxhjr5akhipae2olgleeha

Efficient liveness computation using merge sets and DJ-graphs

Dibyendu Das, B. Dupont De Dinechin, Ramakrishna Upadrasta
2012 ACM Transactions on Architecture and Code Optimization (TACO)  
In this work we devise an efficient algorithm that computes the liveness information of program variables. The algorithm employs SSA form and DJ-graphs as representation to build M erge sets.  ...  The M erge set of node n, M (n) is based on the structure of the Control Flow Graph(CFG) and consists of all nodes where a φ-function needs to be placed, if a definition of a variable appears in n.  ...  the quality of the work.  ... 
doi:10.1145/2086696.2086706 fatcat:fkg6zoffwbd47e5hvw2gdxmkqi

Incremental computation of static single assignment form [chapter]

Jong -Deok Choi, Vivek Sarkar, Edith Schonberg
1996 Lecture Notes in Computer Science  
In this paper, we present incremental algorithms for restoring correct SSA form after program transformations.  ...  However, since the standard algorithm for building SSA form is exhaustive, maintaining correct SSA form throughout a multi-pass compilation process can be expensive.  ...  Where control flow from different regions merge, the transformed program contains a e-function that explicitly represents the merge of value defs.  ... 
doi:10.1007/3-540-61053-7_64 fatcat:t45om2aorbbyvc7h6u7q6en744

Increasing the Scope and Resolution of Interprocedural Static Single Assignment [chapter]

Silvian Calman, Jianwen Zhu
2009 Lecture Notes in Computer Science  
While intraprocedural Static Single Assignment (SSA) is ubiquitous in modern compilers, the use of interprocedural SSA, although seemingly a natural extension, is limited.  ...  In this study, we increase the scope of Interprocedural SSA (ISSA) to record elements and singleton heap variables.  ...  Acknowledgments We would like to thank the anonymous reviewers for their helpful comments. References  ... 
doi:10.1007/978-3-642-03237-0_12 fatcat:6tloaobgebhrvjnudoogehs2vu

Using the SSA-Form in a Code Generator [chapter]

Benoît Dupont de Dinechin
2014 Lecture Notes in Computer Science  
how the SSA form may be used in the if-conversion optimizations; why the SSA form does not seem to benefit instruction scheduling; and what is the state-of-the-art in SSA form destruction on machine code  ...  While using the SSA form in the code generator has definite advantages, the SSA form does not apply to all the code generator program representations, and is not suited for all optimizations.  ...  This approach effectively extends the SSA form to the ψ-SSA form, which is more complicated to handle especially in the SSA form destruction phase.  ... 
doi:10.1007/978-3-642-54807-9_1 fatcat:c3b2j6gf6fepfbclxn2xzsvcw4

A type system equivalent to static single assignment

Yutaka Matsuno, Atsushi Ohori
2006 Proceedings of the 8th ACM SIGPLAN symposium on Principles and practice of declarative programming - PPDP '06  
For this type system, we show that a derivable typing of a program corresponds to the program in SSA form.  ...  Since this process does not change the code, it does not incur overhead due to insertion of φ functions.  ...  Acknowledgments We thank reviewers for their comments and suggestions that have been useful in improving the paper. The first author also thanks Hiroyuki Sato for his relevant comments on this work.  ... 
doi:10.1145/1140335.1140365 dblp:conf/ppdp/MatsunoO06 fatcat:hlgtiuewo5c7joau4z4sjv57am

Mechanizing conventional SSA for a verified destruction with coalescing

Delphine Demange, Yon Fernandez de Retana
2016 Proceedings of the 25th International Conference on Compiler Construction - CC 2016  
The destruction of the SSA form, however, remains a difficult problem, even in a non-verified environment.  ...  From a semantic perspective, the SSA form is nowadays fairly well understood, as witnessed by recent advances in the field of formally verified compilers.  ...  If φ-functions are indeed the key ingredient of SSA, they are not directly available as machine instructions, hence the need to go out of the SSA form.  ... 
doi:10.1145/2892208.2892222 dblp:conf/cc/DemangeR16 fatcat:anoo6pc4qvdsbcf3bnacmoc3a4

Scalable Array SSA and Array Data Flow Analysis [chapter]

Silvius Rus, Guobin He, Lawrence Rauchwerger
2006 Lecture Notes in Computer Science  
Scalar SSA functionality is extended using compact memory descriptors and thus provides a unified, scalable SSA representation.  ...  In this paper we propose to improve the applicability and scalability of previous efforts in array SSA through the addition of a symbolic memory access descriptor for summarizing, in an aggregated and  ...  A δ function after a subroutine call is marked as θ, and summarizes the effect of a subroutine on the array.  ... 
doi:10.1007/978-3-540-69330-7_27 fatcat:qw74ieqpebbejk6qd3ktls5ot4

A compiler framework for speculative analysis and optimizations

Jin Lin, Tong Chen, Wei-Chung Hsu, Pen-Chung Yew, Roy Dz-Ching Ju, Tin-Fook Ngai, Sun Chan
2003 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation - PLDI '03  
This paper proposes a speculative SSA form to incorporate information from alias profiling and/or heuristic rules for data speculation, thus allowing existing program analysis frameworks to be easily extended  ...  reduction and linear function test replacement.  ...  This work was supported in part by the U.S. National Science Foundation under grants EIA-9971666, CCR-0105571, CCR-0105574, and EIA-0220021, and grants from Intel.  ... 
doi:10.1145/781131.781164 dblp:conf/pldi/LinCHYJNC03 fatcat:3clw4zvpg5hrjeaxsihayjycui

Simple Generation of Static Single-Assignment Form [chapter]

John Aycock, Nigel Horspool
2000 Lecture Notes in Computer Science  
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 converting to SSA form, which produces correct solutions for nonreducible control-flow graphs, and produces minimal solutions for reducible ones.  ...  This work was supported in part by a grant from the National Science and Engineering Research Council of Canada.  ... 
doi:10.1007/3-540-46423-9_8 fatcat:zdgr47ydsfgl3fynf6diuzzwve

A compiler framework for speculative analysis and optimizations

Jin Lin, Tong Chen, Wei-Chung Hsu, Pen-Chung Yew, Roy Dz-Ching Ju, Tin-Fook Ngai, Sun Chan
2003 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation - PLDI '03  
This paper proposes a speculative SSA form to incorporate information from alias profiling and/or heuristic rules for data speculation, thus allowing existing program analysis frameworks to be easily extended  ...  reduction and linear function test replacement.  ...  This work was supported in part by the U.S. National Science Foundation under grants EIA-9971666, CCR-0105571, CCR-0105574, and EIA-0220021, and grants from Intel.  ... 
doi:10.1145/781163.781164 fatcat:agkz3x7ie5h7zm7vecmy57fxci
« Previous Showing results 1 — 15 out of 6,009 results