Standard Construction and Destruction Algorithms

This chapter describes the standard algorithms for construction and destruction of SSA form. SSA construction refers to the process of translating a non-SSA program into one that satisfies the SSA constraints. In general, this transformation occurs as one of the earliest phases in the middle-end of...

Full description

Saved in:
Bibliographic Details
Published inSSA-based Compiler Design pp. 23 - 39
Main Authors Singer, Jeremy, Rastello, Fabrice
Format Book Chapter
LanguageEnglish
Published Cham Springer International Publishing 2022
Subjects
Online AccessGet full text
ISBN303080514X
9783030805142
DOI10.1007/978-3-030-80515-9_3

Cover

Abstract This chapter describes the standard algorithms for construction and destruction of SSA form. SSA construction refers to the process of translating a non-SSA program into one that satisfies the SSA constraints. In general, this transformation occurs as one of the earliest phases in the middle-end of an optimizing compiler, when the program has been converted to three-address intermediate code. SSA destruction is sometimes called out-of-SSA translation. This step generally takes place in an optimizing compiler after all SSA optimizations have been performed, and prior to code generation. Note, however, that there are specialized code generation techniques that can work directly on SSA-based intermediate representations such as instruction selection, if-conversion, and register allocation. The algorithms presented in this chapter are based on material from the seminal research papers on SSA. These original algorithms are straightforward to implement and have acceptable efficiency. Therefore, such algorithms are widely implemented in current compilers. Note that more efficient, albeit more complex, alternative algorithms have been devised. These are described in further chapters.
AbstractList This chapter describes the standard algorithms for construction and destruction of SSA form. SSA construction refers to the process of translating a non-SSA program into one that satisfies the SSA constraints. In general, this transformation occurs as one of the earliest phases in the middle-end of an optimizing compiler, when the program has been converted to three-address intermediate code. SSA destruction is sometimes called out-of-SSA translation. This step generally takes place in an optimizing compiler after all SSA optimizations have been performed, and prior to code generation. Note, however, that there are specialized code generation techniques that can work directly on SSA-based intermediate representations such as instruction selection, if-conversion, and register allocation. The algorithms presented in this chapter are based on material from the seminal research papers on SSA. These original algorithms are straightforward to implement and have acceptable efficiency. Therefore, such algorithms are widely implemented in current compilers. Note that more efficient, albeit more complex, alternative algorithms have been devised. These are described in further chapters.
Author Rastello, Fabrice
Singer, Jeremy
Author_xml – sequence: 1
  givenname: Jeremy
  surname: Singer
  fullname: Singer, Jeremy
  email: Jeremy.Singer@glasgow.ac.uk
– sequence: 2
  givenname: Fabrice
  surname: Rastello
  fullname: Rastello, Fabrice
BookMark eNp9j8tOwzAQRY0ACVryBWzyA4axnTT2sgpPqRILQGJnjRO7DaR2FadC_XtMC2LHanSP7h3pTMiJD94ScsngigFU16qSVFAQQCWUrKRKiyOSJSoS2yN1TCa_oXg7I1mM7wDApRCyZOcEnkf0LQ5tXgcfx2HbjF3weWL5jf3L834Zhm5creMFOXXYR5v93Cl5vbt9qR_o4un-sZ4v6IopJmgDwkFRoJqBNRIrh9C4puASZ6YyYAuFkjPFG1kZVzWt4y2zwrESnSy5UWJKisPfrd_g7hP7Xm-Gbo3DTjPQ3_Y6eWqhk5zeq-pkn2bsMIup7Zd20CaEj_jv5gvvD13P
ContentType Book Chapter
Copyright The Author(s), under exclusive license to Springer Nature Switzerland AG 2022
Copyright_xml – notice: The Author(s), under exclusive license to Springer Nature Switzerland AG 2022
DBID ABOKW
UNPAY
DOI 10.1007/978-3-030-80515-9_3
DatabaseName Unpaywall for CDI: Monographs and Miscellaneous Content
Unpaywall
DatabaseTitleList
Database_xml – sequence: 1
  dbid: UNPAY
  name: Unpaywall
  url: https://proxy.k.utb.cz/login?url=https://unpaywall.org/
  sourceTypes: Open Access Repository
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
EISBN 9783030805159
3030805158
Editor Rastello, Fabrice
Bouchez Tichadou, Florent
Editor_xml – sequence: 1
  givenname: Fabrice
  surname: Rastello
  fullname: Rastello, Fabrice
  email: fabrice.rastello@inria.fr
– sequence: 2
  givenname: Florent
  surname: Bouchez Tichadou
  fullname: Bouchez Tichadou, Florent
  email: florent.bouchez-tichadou@imag.fr
EndPage 39
ExternalDocumentID oai:HAL:hal-04814854v1
GroupedDBID 38.
AABBV
AAZWU
ABSVR
ABTHU
ABVND
ACBPT
ACHZO
ACPMC
ADNVS
AEJLV
AEKFX
AHVRR
AIYYB
ALMA_UNASSIGNED_HOLDINGS
BBABE
CZZ
IEZ
SBO
TPJZQ
Z83
ABOKW
UNPAY
ID FETCH-LOGICAL-h1913-c03f044a960eb8a7fa0cfc428a6b7b0e49a82192c87bf7cdf2d1e3f15af852b93
IEDL.DBID UNPAY
ISBN 303080514X
9783030805142
IngestDate Sun Oct 26 04:17:32 EDT 2025
Tue Jul 29 20:27:17 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly false
Language English
License cc-by
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-h1913-c03f044a960eb8a7fa0cfc428a6b7b0e49a82192c87bf7cdf2d1e3f15af852b93
OpenAccessLink https://proxy.k.utb.cz/login?url=https://inria.hal.science/hal-04814854
PageCount 17
ParticipantIDs unpaywall_primary_10_1007_978_3_030_80515_9_3
springer_books_10_1007_978_3_030_80515_9_3
PublicationCentury 2000
PublicationDate 2022
PublicationDateYYYYMMDD 2022-01-01
PublicationDate_xml – year: 2022
  text: 2022
PublicationDecade 2020
PublicationPlace Cham
PublicationPlace_xml – name: Cham
PublicationTitle SSA-based Compiler Design
PublicationYear 2022
Publisher Springer International Publishing
Publisher_xml – name: Springer International Publishing
SSID ssj0002833851
Score 1.6596631
Snippet This chapter describes the standard algorithms for construction and destruction of SSA form. SSA construction refers to the process of translating a non-SSA...
SourceID unpaywall
springer
SourceType Open Access Repository
Publisher
StartPage 23
SubjectTerms Compiler design
Conventional SSA (C-SSA)
Critical edge
Dead code elimination
Def-use chain
DJ-graph
Dominance frontier
Iterated dominance frontier
Join set
Live-range splitting
Minimal SSA
Parallel copy
Phi-function insertion
Phi-web
Semi-pruned SSA
SSA construction
SSA destruction
Static single assignment form (SSA form)
Transformed SSA (T-SSA)
Vanilla SSA
Variable renaming
Variable version
Title Standard Construction and Destruction Algorithms
URI http://link.springer.com/10.1007/978-3-030-80515-9_3
https://inria.hal.science/hal-04814854
UnpaywallVersion submittedVersion
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlZ3PS8MwFMcfuh1EDyoqTnT04EnIbPOjP45DNsfQIehknkKSJk6c3XAbon-9r1s7hgfFW1NC2n4S8t5L874BOMcxo8OIJ4QaYQkXjhJtEwxWNHY_FyYIbL7ecdsLO33eHYhBsUF2kQuTIffGEP3OwgJc4jXJRU14LPgmVEOBPncFqv3eXfNpJSO0VIplBIcszrloo0ki2drPzW3YmmcT9fmhRqM1-9HehevyycttI6-N-Uw3zNcPUca_X20PdvLsBC9PG0Ai-7BhswPw74sFAS8_f7NUhPXwnpfHlWW5OXoev7_Mhm_TQ-i3Ww9XHVIchUCGGFAxYnzmfM4VfrvVsYqc8o0zGDqoUEfatzxRMc491MSRdpFJHU0Dy1wglIsF1Qk7gko2zuwxeMIFYaRTp6mx2GCiRWQCG6SxokxwqmtwUVKTuaM_laWyMSKWTCJiuUAsEXENyIqrnCz1MX6rf_LP-qdQQUj2DA3_TNeh2mx1bx7rRe9_A8LzrlU
linkProvider Unpaywall
linkToUnpaywall http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlZ3PS8MwFMcfuh1EDyoqTlR68CRktvnRtMchziE4BB3MU0jSxIlbN9yG6F_v69aO4UHx1pSQtp-EvPfSvG8ALnDMmFjylFArHOHCU2JcisGKwe7nwkaRK9Y77rtxp8fv-qJfbpBd5MLkyL05QL-ztABXeE0KUROeCL4J9Vigz12Deq_70HpeyQgtlWIZwSGLcy7aaJIqtvZzcxu25vlEf37o4XDNfrR34bZ68nLbyFtzPjNN-_VDlPHvV9uDnSI7ISjSBpDIPmy4_ADCx3JBICjO36wUYQO8FxRxZVVuDV_G76-zwWh6CL32zdN1h5RHIZABBlSM2JD5kHON3-5MoqXXofUWQwcdG2lCx1Od4NxDbSKNlzbzNIsc85HQPhHUpOwIavk4d8cQCB_F0mTeUOuwwdQIaSMXZYmmTHBqGnBZUVOFoz9VlbIxIlZMIWK1QKwQcQPIiquaLPUxfqt_8s_6p1BDSO4MDf_MnJe9_g1YTazA
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.title=SSA-based+Compiler+Design&rft.au=Singer%2C+Jeremy&rft.au=Rastello%2C+Fabrice&rft.atitle=Standard+Construction+and+Destruction+Algorithms&rft.date=2022-01-01&rft.pub=Springer+International+Publishing&rft.isbn=9783030805142&rft.spage=23&rft.epage=39&rft_id=info:doi/10.1007%2F978-3-030-80515-9_3
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9783030805142/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9783030805142/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9783030805142/sc.gif&client=summon&freeimage=true