A correspondence between continuation passing style and static single assignment form

We define syntactic transformations that convert continuation passing style (CPS) programs into static single assignment form (SSA) and vice versa. Some CPS programs cannot be converted to SSA, but these are not produced by the usual CPS transformation. The CPS→SSA transformation is especially helpf...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM SIGPLAN Workshop on Intermediate Representations, 1995 1995, 1995-03, Vol.30 (3), p.13-22
1. Verfasser: Kelsey, Richard A.
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 22
container_issue 3
container_start_page 13
container_title ACM SIGPLAN Workshop on Intermediate Representations, 1995
container_volume 30
creator Kelsey, Richard A.
description We define syntactic transformations that convert continuation passing style (CPS) programs into static single assignment form (SSA) and vice versa. Some CPS programs cannot be converted to SSA, but these are not produced by the usual CPS transformation. The CPS→SSA transformation is especially helpful for compiling functional programs. Many optimizations that normally require flow analysis can be performed directly on functional CPS programs by viewing them as SSA programs. We also present a simple program transformation that merges CPS procedures together and by doing so greatly increases the scope of the SSA flow information. This transformation is useful for analyzing loops expressed as recursive procedures.
doi_str_mv 10.1145/202530.202532
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1145_202530_202532</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>29363045</sourcerecordid><originalsourceid>FETCH-LOGICAL-c307t-3318b376a8f17c70457904022dbe328a5254e6cff78894871e3870320affd1ef3</originalsourceid><addsrcrecordid>eNotkL1PwzAUxC0-JNrCyJ6JLfDsF8fOWFV8SZVY6By5znMVlDjBdoX635MSpt_p7nTDMXbP4ZHzQj4JEBLh8Q_igi24lDrnvIRLtgRdqYorWcgrtgAsRc6xgBu2jPELABCEXrDdOrNDCBTHwTfkLWV7Sj9EfrJ9av3RpHbw2WhibP0hi-nUUWZ8M6kpsdnZPTtTfPA9-ZS5IfS37NqZLtLdP1ds9_L8uXnLtx-v75v1NrcIKuWIXO9RlUY7rqyCQqoKChCi2RMKbaSQBZXWOaV1VWjFCbUCFGCcazg5XLGHeXcMw_eRYqr7NlrqOuNpOMZaVFjiNDsV87lowxBjIFePoe1NONUc6vOT9fzkDIG_3X9jog</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>29363045</pqid></control><display><type>article</type><title>A correspondence between continuation passing style and static single assignment form</title><source>ACM Digital Library Complete</source><creator>Kelsey, Richard A.</creator><creatorcontrib>Kelsey, Richard A.</creatorcontrib><description>We define syntactic transformations that convert continuation passing style (CPS) programs into static single assignment form (SSA) and vice versa. Some CPS programs cannot be converted to SSA, but these are not produced by the usual CPS transformation. The CPS→SSA transformation is especially helpful for compiling functional programs. Many optimizations that normally require flow analysis can be performed directly on functional CPS programs by viewing them as SSA programs. We also present a simple program transformation that merges CPS procedures together and by doing so greatly increases the scope of the SSA flow information. This transformation is useful for analyzing loops expressed as recursive procedures.</description><identifier>ISSN: 0362-1340</identifier><identifier>ISBN: 0897917545</identifier><identifier>ISBN: 9780897917544</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/202530.202532</identifier><language>eng</language><ispartof>ACM SIGPLAN Workshop on Intermediate Representations, 1995, 1995-03, Vol.30 (3), p.13-22</ispartof><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c307t-3318b376a8f17c70457904022dbe328a5254e6cff78894871e3870320affd1ef3</citedby><cites>FETCH-LOGICAL-c307t-3318b376a8f17c70457904022dbe328a5254e6cff78894871e3870320affd1ef3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Kelsey, Richard A.</creatorcontrib><title>A correspondence between continuation passing style and static single assignment form</title><title>ACM SIGPLAN Workshop on Intermediate Representations, 1995</title><description>We define syntactic transformations that convert continuation passing style (CPS) programs into static single assignment form (SSA) and vice versa. Some CPS programs cannot be converted to SSA, but these are not produced by the usual CPS transformation. The CPS→SSA transformation is especially helpful for compiling functional programs. Many optimizations that normally require flow analysis can be performed directly on functional CPS programs by viewing them as SSA programs. We also present a simple program transformation that merges CPS procedures together and by doing so greatly increases the scope of the SSA flow information. This transformation is useful for analyzing loops expressed as recursive procedures.</description><issn>0362-1340</issn><issn>1558-1160</issn><isbn>0897917545</isbn><isbn>9780897917544</isbn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1995</creationdate><recordtype>article</recordtype><recordid>eNotkL1PwzAUxC0-JNrCyJ6JLfDsF8fOWFV8SZVY6By5znMVlDjBdoX635MSpt_p7nTDMXbP4ZHzQj4JEBLh8Q_igi24lDrnvIRLtgRdqYorWcgrtgAsRc6xgBu2jPELABCEXrDdOrNDCBTHwTfkLWV7Sj9EfrJ9av3RpHbw2WhibP0hi-nUUWZ8M6kpsdnZPTtTfPA9-ZS5IfS37NqZLtLdP1ds9_L8uXnLtx-v75v1NrcIKuWIXO9RlUY7rqyCQqoKChCi2RMKbaSQBZXWOaV1VWjFCbUCFGCcazg5XLGHeXcMw_eRYqr7NlrqOuNpOMZaVFjiNDsV87lowxBjIFePoe1NONUc6vOT9fzkDIG_3X9jog</recordid><startdate>19950301</startdate><enddate>19950301</enddate><creator>Kelsey, Richard A.</creator><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19950301</creationdate><title>A correspondence between continuation passing style and static single assignment form</title><author>Kelsey, Richard A.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c307t-3318b376a8f17c70457904022dbe328a5254e6cff78894871e3870320affd1ef3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1995</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Kelsey, Richard A.</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>ACM SIGPLAN Workshop on Intermediate Representations, 1995</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Kelsey, Richard A.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>A correspondence between continuation passing style and static single assignment form</atitle><jtitle>ACM SIGPLAN Workshop on Intermediate Representations, 1995</jtitle><date>1995-03-01</date><risdate>1995</risdate><volume>30</volume><issue>3</issue><spage>13</spage><epage>22</epage><pages>13-22</pages><issn>0362-1340</issn><eissn>1558-1160</eissn><isbn>0897917545</isbn><isbn>9780897917544</isbn><abstract>We define syntactic transformations that convert continuation passing style (CPS) programs into static single assignment form (SSA) and vice versa. Some CPS programs cannot be converted to SSA, but these are not produced by the usual CPS transformation. The CPS→SSA transformation is especially helpful for compiling functional programs. Many optimizations that normally require flow analysis can be performed directly on functional CPS programs by viewing them as SSA programs. We also present a simple program transformation that merges CPS procedures together and by doing so greatly increases the scope of the SSA flow information. This transformation is useful for analyzing loops expressed as recursive procedures.</abstract><doi>10.1145/202530.202532</doi><tpages>10</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0362-1340
ispartof ACM SIGPLAN Workshop on Intermediate Representations, 1995, 1995-03, Vol.30 (3), p.13-22
issn 0362-1340
1558-1160
language eng
recordid cdi_crossref_primary_10_1145_202530_202532
source ACM Digital Library Complete
title A correspondence between continuation passing style and static single assignment form
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-05T03%3A30%3A23IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=A%20correspondence%20between%20continuation%20passing%20style%20and%20static%20single%20assignment%20form&rft.jtitle=ACM%20SIGPLAN%20Workshop%20on%20Intermediate%20Representations,%201995&rft.au=Kelsey,%20Richard%20A.&rft.date=1995-03-01&rft.volume=30&rft.issue=3&rft.spage=13&rft.epage=22&rft.pages=13-22&rft.issn=0362-1340&rft.eissn=1558-1160&rft.isbn=0897917545&rft.isbn_list=9780897917544&rft_id=info:doi/10.1145/202530.202532&rft_dat=%3Cproquest_cross%3E29363045%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=29363045&rft_id=info:pmid/&rfr_iscdi=true