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

Optimizing Translation Out of SSA Using Renaming Constraints

Published: 20 March 2004 Publication History

Abstract

Static Single Assignment form is an intermediate representationthat usesinstructions to merge values ateach confluent point of the control flow graph. instructionsare not machine instructions and must be renamedback to move instructions when translating out of SSAform.Without a coalescing algorithm, the out of SSAtranslation generates many move instructions.Leung andGeorge use a SSA form for programs represented as native machine instructions, including the use of machinededicated registers.For this purpose, they handlerenaming constraints thanks to a pinning mechanism.Pinningarguments and their corresponding definitionto a common resource is also a very attractive techniquefor coalescing variables.In this paper, extending thisidea, we propose a method to reduce the -related copiesduring the out of SSA translation, thanks to a pinning-basedcoalescing algorithm that is aware of renaming constraints.We implemented our algorithm in the STMicro-electronicsLinear Assembly Optimizer.Our experimentsshow interesting results when comparing to the existingapproaches of Leung and George, Sreedhar etal., and Appel and George for register coalescing.

References

[1]
{1} P. Briggs, K. D. Cooper, T. J. Harvey, and L. T. Simpson. Practical improvements to the construction and destruction of static single assignment form. Software - Practice and Experience, 28(8):859-881, July 1998.
[2]
{2} Z. Budimlic, K. Cooper, T. Harvey, K. Kennedy, T. Oberg, and S. Reeves. Fast copy coalescing and live-range identification. In SIGPLAN International Conference on Programming Languages Design and Implementation , pages 25-32. ACM Press, June 2002.
[3]
{3} G. J. Chaitin. Register allocation & spilling via graph coloring. In Proceedings of the 1982 SIGPLAN symposium on Compiler construction, pages 98-101, 1982.
[4]
{4} 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.
[5]
{5} B. Dupont de Dinechin, F. de Ferrière, C. Guillon, and A. Stoutchinin. Code generator optimizations for the ST120 DSP-MCU core. In International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, pages 93-103, 2000.
[6]
{6} European Telecommunications Standards Institute (ETSI). GSM technical activity, SMG11 (speech) working group. Available at http://www.etsi.org.
[7]
{7} L. George and A. W. Appel. Iterated register coalescing. ACM Transactions on Programming Languages and Systems, 18(3), May 1996.
[8]
{8} A. L. Leungand L. George. Staticsingle assignment form for machine code. In SIGPLAN International Conference on Programming Languages Design and Implementation , pages 204-214, 1999.
[9]
{9} J. Park and S.-M. Moon. Optimistic register coalescing. In IEEE International Conference on Parallel Architectures and Compilation Techniques, pages 196-204, 1998.
[10]
{10} F. Rastello, F. de Ferrière, and C. Guillon. Optimizing the translation out-of-SSA with renaming constraints. Technical Report RR2003-35, LIP, ENS-Lyon, France, June 2003. Available at http://www.ens-lyon.fr/ LIP/.
[11]
{11} 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.
[12]
{12} Standard Performance Evaluation Corporation (SPEC). SPEC CINT2000 benchmarks. Available at http://www.spec.org/cpu2000/CINT2000/.
[13]
{13} 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.

Cited By

View all
  • (2018)A compiler for cyber-physical digital microfluidic biochipsProceedings of the 2018 International Symposium on Code Generation and Optimization10.1145/3168826(365-377)Online publication date: 24-Feb-2018
  • (2009)Revisiting Out-of-SSA Translation for Correctness, Code Quality and EfficiencyProceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO.2009.19(114-125)Online publication date: 22-Mar-2009
  • (2009)Comparison and evaluation of back-translation algorithms for static single assignment formsComputer Languages, Systems and Structures10.1016/j.cl.2007.03.00135:2(173-195)Online publication date: 1-Jul-2009
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CGO '04: Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
March 2004
301 pages
ISBN:0769521029

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 20 March 2004

Check for updates

Qualifiers

  • Article

Conference

CGO04

Acceptance Rates

CGO '04 Paper Acceptance Rate 25 of 79 submissions, 32%;
Overall Acceptance Rate 312 of 1,061 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2018)A compiler for cyber-physical digital microfluidic biochipsProceedings of the 2018 International Symposium on Code Generation and Optimization10.1145/3168826(365-377)Online publication date: 24-Feb-2018
  • (2009)Revisiting Out-of-SSA Translation for Correctness, Code Quality and EfficiencyProceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO.2009.19(114-125)Online publication date: 22-Mar-2009
  • (2009)Comparison and evaluation of back-translation algorithms for static single assignment formsComputer Languages, Systems and Structures10.1016/j.cl.2007.03.00135:2(173-195)Online publication date: 1-Jul-2009
  • (2008)Advanced conservative and optimistic register coalescingProceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems10.1145/1450095.1450119(147-156)Online publication date: 19-Oct-2008
  • (2007)An optimistic and conservative register assignment heuristic for chordal graphsProceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems10.1145/1289881.1289919(209-217)Online publication date: 30-Sep-2007
  • (2007)Interference graphs for procedures in static single information form are interval graphsProceedingsof the 10th international workshop on Software & compilers for embedded systems10.1145/1269843.1269858(101-110)Online publication date: 20-Apr-2007
  • (2007)On the Complexity of Register CoalescingProceedings of the International Symposium on Code Generation and Optimization10.1109/CGO.2007.26(102-114)Online publication date: 11-Mar-2007
  • (2006)Register allocationProceedings of the 19th international conference on Languages and compilers for parallel computing10.5555/1757112.1757141(283-298)Online publication date: 2-Nov-2006

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