Array SSA Form

In this chapter, we introduce an Array SSA form that captures element-level data-flow information for array variables and coincides with standard SSA form when applied to scalar variables. Any program with arbitrary control-flow structures and arbitrary array subscript expressions can be automatical...

Full description

Saved in:
Bibliographic Details
Published inSSA-based Compiler Design pp. 227 - 240
Main Authors Sarkar, Vivek, Knobe, Kathleen, Fink, Stephen
Format Book Chapter
LanguageEnglish
Published Cham Springer International Publishing 2022
Subjects
Online AccessGet full text
ISBN303080514X
9783030805142
DOI10.1007/978-3-030-80515-9_17

Cover

Abstract In this chapter, we introduce an Array SSA form that captures element-level data-flow information for array variables and coincides with standard SSA form when applied to scalar variables. Any program with arbitrary control-flow structures and arbitrary array subscript expressions can be automatically converted to this Array SSA form, thereby making it applicable to structures, heap objects, and any other data structure that can be modelled as a logical array. A key extension over standard SSA form is the introduction of a definition-PHI function (denoted PHI-def) that is capable of merging values from distinct array definitions on an element-by-element basis. There are several potential applications of Array SSA form in compiler analysis and optimization of sequential and parallel programs. In this chapter, we focus on sequential programs and use constant propagation as an exemplar of a program analysis that can be extended to array variables using Array SSA form and redundant load elimination as an exemplar of a program optimization that can be extended to heap objects using Array SSA form.
AbstractList In this chapter, we introduce an Array SSA form that captures element-level data-flow information for array variables and coincides with standard SSA form when applied to scalar variables. Any program with arbitrary control-flow structures and arbitrary array subscript expressions can be automatically converted to this Array SSA form, thereby making it applicable to structures, heap objects, and any other data structure that can be modelled as a logical array. A key extension over standard SSA form is the introduction of a definition-PHI function (denoted PHI-def) that is capable of merging values from distinct array definitions on an element-by-element basis. There are several potential applications of Array SSA form in compiler analysis and optimization of sequential and parallel programs. In this chapter, we focus on sequential programs and use constant propagation as an exemplar of a program analysis that can be extended to array variables using Array SSA form and redundant load elimination as an exemplar of a program optimization that can be extended to heap objects using Array SSA form.
Author Fink, Stephen
Sarkar, Vivek
Knobe, Kathleen
Author_xml – sequence: 1
  givenname: Vivek
  surname: Sarkar
  fullname: Sarkar, Vivek
  email: vsarkar@gatech.edu
– sequence: 2
  givenname: Kathleen
  surname: Knobe
  fullname: Knobe, Kathleen
– sequence: 3
  givenname: Stephen
  surname: Fink
  fullname: Fink, Stephen
BookMark eNo1j8tOwzAQRQcBErSEL2DRHzCMPZnYs4wqCkiVWLSV2Fk2cRCvBNkr_p60wGp0z-LeOTM4GcYhAVxpvNaI9kasU6SQUDlkzUq8tkdQTZgmeGByDLP_UD-dQVXKGyIaR-RYn8Nlm3P4Xmw27WI15s8LOO3DR0nV353DbnW7Xd6r9ePdw7Jdq6I1WSVNl7hpOmcMkRFh5iaSnYZj4mjrRKEPz5K4RhPE6OR67CTaQKEORpjmYH57y1d-HV5S9nEc34vX6Pdmfmry5Ke__cHC783oBxBtPsg
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
DOI 10.1007/978-3-030-80515-9_17
DatabaseTitleList
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 240
GroupedDBID 38.
AABBV
AAZWU
ABSVR
ABTHU
ABVND
ACBPT
ACHZO
ACPMC
ADNVS
AEJLV
AEKFX
AHVRR
AIYYB
ALMA_UNASSIGNED_HOLDINGS
BBABE
CZZ
IEZ
SBO
TPJZQ
Z83
ID FETCH-LOGICAL-s1137-96de566d822332995556b37978be5b74e3afac9e5402a921e8f0d9b7a3a4a2953
ISBN 303080514X
9783030805142
IngestDate Tue Jul 29 20:27:17 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-s1137-96de566d822332995556b37978be5b74e3afac9e5402a921e8f0d9b7a3a4a2953
PageCount 14
ParticipantIDs springer_books_10_1007_978_3_030_80515_9_17
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.6451046
Snippet In this chapter, we introduce an Array SSA form that captures element-level data-flow information for array variables and coincides with standard SSA form when...
SourceID springer
SourceType Publisher
StartPage 227
SubjectTerms Array SSA
At variable
Compiler design
Constant propagation
Data-flow analysis
Definition-PHI function
Dependence analysis
Extended array SSA
Extended SSA forms
Full array SSA
Fuzzy array data-flow analysis (FADA)
Global value numbering (GVN)
Index propagation
Lattice
Partial array SSA
Scalar promotion
Static single assignment form (SSA form)
Transfer function
Use-PHI function
Title Array SSA Form
URI http://link.springer.com/10.1007/978-3-030-80515-9_17
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV07b4MwELaadGmrSn2qbzF0i6gCxhjGqEoUpY8lD2VDNjZLJSqRdOmv72cgifNY0gUhhM6czz5_Pu47E_KMVVt5mVAuD1XkYlBkmFLSZDh6URYp5kXlcUAfn2F_HAymbLoqZFOyS-byJf3dySv5j1XxDHY1LNk9LLsUige4h31xhYVx3QC_62HWisMx7LhmDVLlnMbkLuA87HSMoSi-qvTpCVzakpHzln9LbSdSLE2IbamV-GUPpk5RCDiZYafVA8a1IwW-vxEpWEQKN2KNq3DX2taSmkI2pji6b7u3isdfr5R-VWhpywnbeReQ4hoxzI0TjzdIA5Kb5LDTHbxPlrEwQBwK5GeoN4tW6-JIq6-waI-7JG_9yC7xweiMnBjOiGPIHFD6nBzo_IIcW7UeL8lp2YcO-tAxfXhFxr3u6LXv1odRuDPPo9yNQ6UBfRUAFaVYwxljoaQc3yI1kzzQVGQijTUQsC9i39NR1lax5IKKQPgxo9ekmX_n-oY4gdTCY2nU9vG2SmPBYxFxnmEnCv8Z0lvSWuiSmOE1Sxa1pdFaQhNonpSaJ0bzu73evidHq6HxQJrz4kc_AlbN5VNtlT_sIRYR
linkProvider Library Specific Holdings
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=Sarkar%2C+Vivek&rft.au=Knobe%2C+Kathleen&rft.au=Fink%2C+Stephen&rft.atitle=Array+SSA+Form&rft.date=2022-01-01&rft.pub=Springer+International+Publishing&rft.isbn=9783030805142&rft.spage=227&rft.epage=240&rft_id=info:doi/10.1007%2F978-3-030-80515-9_17
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