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...
Gespeichert in:
Veröffentlicht in: | ACM SIGPLAN Workshop on Intermediate Representations, 1995 1995, 1995-03, Vol.30 (3), p.13-22 |
---|---|
1. Verfasser: | |
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 |