Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1269843.1269859acmconferencesArticle/Chapter ViewAbstractPublication PagesscopesConference Proceedingsconference-collections
Article

Improvements to the Psi-SSA representation

Published: 20 April 2007 Publication History

Abstract

Modern compiler implementations use the Static Single Assignment representation [5] as a way to efficiently implement optimizing algorithms. However this representation is not well adapted to architectures with a predicated instruction set. The ψ-SSA representation was first introduced in [11] as an extension to the Static Single Assignment representation. The ψ-SSA representation extends the SSA representation such that standard SSA algorithms can be easily adapted to an architecture with a fully predicated instruction set. A new pseudo operation, the ψ operation, is introduced to merge several conditional definitions into a unique definition.
This paper presents an adaptation of the ψ-SSA representation to support architectures with a partially predicated instruction set. The definition of the ψ operation is extended to support the generation and the optimization of partially predicated code. In particular, a predicate promotion transformation is introduced to reduce the number of predicated operations, as well as the number of operations used to compute guard registers. An out of ψ-SSA algorithm is also described, which fixes and improves the algorithm described in [11]. This algorithm is derived from the out of SSA algorithm from Sreedhar et al. [10], where the definitions of liveness and interferences have been extended for the ψ operations. This algorithm inserts predicated copy operations to restore the correct semantics in the program in a non-SSA form.
The ψ-SSA representation is used in our production compilers, based on the Open64 technology, for the ST200 family processors. In this compiler, predicated code is generated by an if-conversion algorithm performed under the ψ-SSA representation [12, 1].

References

[1]
C. Bruel. If-conversion ssa framework for partially predicated vliw architectures. SIGPLAN, ACM and IEEE, March 2006.
[2]
F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on ssa form. ACM SIGPLAN Notices, 32(5):273 -- 286, 1997.
[3]
F. Chow, S. Chan, S.-M. Liu, R. Lo, and M. Streich. Effective representation of aliases and indirect memory operations in SSA form. In T. Gyimothy, editor, Compiler Construction, 6th International Conference, volume 1060 of Lecture Notes in Computer Science, pages 253--267, Linkoping, Sweden, 24--26 Apr. 1996. Springer.
[4]
C. Click. Global code motion global value numbering. In SIGPLAN International Conference on Programming Languages Design and Implementation, pages 246 -- 257, 1995.
[5]
R. Cytron, J. Ferrante, B. Rosen, M. Wegman, and K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, 13(4):451 -- 490, 1991.
[6]
J. Fang. Compiler algorithms on if-conversion, speculative predicates assignment and predicated code optimizations. In 9th International Workshop on Languages and Compilers for Parallel Computing (LCPC), LNCS #1239, pages 135 -153, 1996.
[7]
P. Faraboschi, G. Brown, J. A. Fisher, G. Desoli, and F. Homewood. Lx: a technology platform for customizable VLIW embedded processing. In The 27th Annual International Symposium on Computer architecture 2000, pages 203--213, New York, NY, USA, 2000. ACM Press.
[8]
K. Knobe and V. Sarkar. Array ssa form and its use in parallelization. In ACM Symposium on the Principles of Programming Languages, pages 107 -- 120, 1998.
[9]
R. Morgan. Building an optimizing compiler, January 1998.
[10]
V. Sreedhar, R. Ju, D. Gillies, and V. Santhanam. Translating out of static single assignment form. In Static Analysis Symposium, Italy, pages 194 -- 204, 1999.
[11]
A. Stoutchinin and F. de Ferrière. Efficient static single assignment form for predication. In 34th annual ACM/IEEE international symposium on Microarchitecture, pages 172--181. IEEE Computer Society, 2001.
[12]
A. Stoutchinin and G. Gao. If-conversion in SSA form. In Proceedings of Euro-Par 2004 Parallel Processing, volume 3149 of LNCS, pages 336--345. SIGPLAN, Springer Verlag, Aug 2004.
[13]
M. Wegman and K. Zadeck. Constant propagation with conditional branches. ACM Transactions on Programming Languages and Systems, 13(2): 181--210, 1991.
[14]
M. Wolfe. Beyond induction variables. In SIGPLAN International Conference on Programming Languages Design and Implementation, pages 162 -- 174, 1992.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SCOPES '07: Proceedingsof the 10th international workshop on Software & compilers for embedded systems
April 2007
127 pages
ISBN:9781450378345
DOI:10.1145/1269843
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 April 2007

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 38 of 79 submissions, 48%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media