Loading…
Register allocation in the SPUR Lisp compiler
Register allocation is an important component of most compilers, particularly those for RISC machines. The SPUR Lisp compiler uses a sophisticated, graph-coloring algorithm developed by Fredrick Chow [Chow84]. This paper describes the algorithm and the techniques used to implement it efficiently and...
Saved in:
Published in: | SIGPLAN notices 1986-07, Vol.21 (7), p.255-263 |
---|---|
Main Authors: | , |
Format: | Article |
Language: | English |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | cdi_FETCH-LOGICAL-c264t-abca334718abed08a267751a20967af16dae0c35f92b634fc50559ec55b1e5d33 |
---|---|
cites | cdi_FETCH-LOGICAL-c264t-abca334718abed08a267751a20967af16dae0c35f92b634fc50559ec55b1e5d33 |
container_end_page | 263 |
container_issue | 7 |
container_start_page | 255 |
container_title | SIGPLAN notices |
container_volume | 21 |
creator | Larus, James R. Hilfinger, Paul N. |
description | Register allocation is an important component of most compilers, particularly those for RISC machines. The SPUR Lisp compiler uses a sophisticated, graph-coloring algorithm developed by Fredrick Chow [Chow84]. This paper describes the algorithm and the techniques used to implement it efficiently and evaluates its performance on several large programs. The allocator successfully assigned most temporaries and local variables to registers in a wide variety of functions. Its execution cost is moderate. |
doi_str_mv | 10.1145/13310.13337 |
format | article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_29472237</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>29472237</sourcerecordid><originalsourceid>FETCH-LOGICAL-c264t-abca334718abed08a267751a20967af16dae0c35f92b634fc50559ec55b1e5d33</originalsourceid><addsrcrecordid>eNotkL1OwzAURi0EEqEw8QKZWFDgXt_YTkZU8SdVAhU6W457A0ZpEux04O2hLdP3DUdnOEJcItwgluoWiXaXiMyRyFCpqkDUcCwyIC0LpBJOxVlKXwBAIKtMFEv-CGnimLuuG7ybwtDnoc-nT87fXlfLfBHSmPthM4aO47k4aV2X-OJ_Z2L1cP8-fyoWL4_P87tF4aUup8I13hGVBivX8BoqJ7UxCp2EWhvXol47Bk-qrWWjqWy9AqVq9ko1yGpNNBNXB-8Yh-8tp8luQvLcda7nYZusrEsjJZk_8PoA-jikFLm1YwwbF38sgt0lsfskdp-EfgFph1Fo</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>29472237</pqid></control><display><type>article</type><title>Register allocation in the SPUR Lisp compiler</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>Larus, James R. ; Hilfinger, Paul N.</creator><creatorcontrib>Larus, James R. ; Hilfinger, Paul N.</creatorcontrib><description>Register allocation is an important component of most compilers, particularly those for RISC machines. The SPUR Lisp compiler uses a sophisticated, graph-coloring algorithm developed by Fredrick Chow [Chow84]. This paper describes the algorithm and the techniques used to implement it efficiently and evaluates its performance on several large programs. The allocator successfully assigned most temporaries and local variables to registers in a wide variety of functions. Its execution cost is moderate.</description><identifier>ISSN: 0362-1340</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/13310.13337</identifier><language>eng</language><ispartof>SIGPLAN notices, 1986-07, Vol.21 (7), p.255-263</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c264t-abca334718abed08a267751a20967af16dae0c35f92b634fc50559ec55b1e5d33</citedby><cites>FETCH-LOGICAL-c264t-abca334718abed08a267751a20967af16dae0c35f92b634fc50559ec55b1e5d33</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27901,27902</link.rule.ids></links><search><creatorcontrib>Larus, James R.</creatorcontrib><creatorcontrib>Hilfinger, Paul N.</creatorcontrib><title>Register allocation in the SPUR Lisp compiler</title><title>SIGPLAN notices</title><description>Register allocation is an important component of most compilers, particularly those for RISC machines. The SPUR Lisp compiler uses a sophisticated, graph-coloring algorithm developed by Fredrick Chow [Chow84]. This paper describes the algorithm and the techniques used to implement it efficiently and evaluates its performance on several large programs. The allocator successfully assigned most temporaries and local variables to registers in a wide variety of functions. Its execution cost is moderate.</description><issn>0362-1340</issn><issn>1558-1160</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1986</creationdate><recordtype>article</recordtype><recordid>eNotkL1OwzAURi0EEqEw8QKZWFDgXt_YTkZU8SdVAhU6W457A0ZpEux04O2hLdP3DUdnOEJcItwgluoWiXaXiMyRyFCpqkDUcCwyIC0LpBJOxVlKXwBAIKtMFEv-CGnimLuuG7ybwtDnoc-nT87fXlfLfBHSmPthM4aO47k4aV2X-OJ_Z2L1cP8-fyoWL4_P87tF4aUup8I13hGVBivX8BoqJ7UxCp2EWhvXol47Bk-qrWWjqWy9AqVq9ko1yGpNNBNXB-8Yh-8tp8luQvLcda7nYZusrEsjJZk_8PoA-jikFLm1YwwbF38sgt0lsfskdp-EfgFph1Fo</recordid><startdate>198607</startdate><enddate>198607</enddate><creator>Larus, James R.</creator><creator>Hilfinger, Paul N.</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>198607</creationdate><title>Register allocation in the SPUR Lisp compiler</title><author>Larus, James R. ; Hilfinger, Paul N.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c264t-abca334718abed08a267751a20967af16dae0c35f92b634fc50559ec55b1e5d33</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1986</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Larus, James R.</creatorcontrib><creatorcontrib>Hilfinger, Paul N.</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>SIGPLAN notices</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Larus, James R.</au><au>Hilfinger, Paul N.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Register allocation in the SPUR Lisp compiler</atitle><jtitle>SIGPLAN notices</jtitle><date>1986-07</date><risdate>1986</risdate><volume>21</volume><issue>7</issue><spage>255</spage><epage>263</epage><pages>255-263</pages><issn>0362-1340</issn><eissn>1558-1160</eissn><abstract>Register allocation is an important component of most compilers, particularly those for RISC machines. The SPUR Lisp compiler uses a sophisticated, graph-coloring algorithm developed by Fredrick Chow [Chow84]. This paper describes the algorithm and the techniques used to implement it efficiently and evaluates its performance on several large programs. The allocator successfully assigned most temporaries and local variables to registers in a wide variety of functions. Its execution cost is moderate.</abstract><doi>10.1145/13310.13337</doi><tpages>9</tpages></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0362-1340 |
ispartof | SIGPLAN notices, 1986-07, Vol.21 (7), p.255-263 |
issn | 0362-1340 1558-1160 |
language | eng |
recordid | cdi_proquest_miscellaneous_29472237 |
source | Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list) |
title | Register allocation in the SPUR Lisp compiler |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-23T11%3A04%3A53IST&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=Register%20allocation%20in%20the%20SPUR%20Lisp%20compiler&rft.jtitle=SIGPLAN%20notices&rft.au=Larus,%20James%20R.&rft.date=1986-07&rft.volume=21&rft.issue=7&rft.spage=255&rft.epage=263&rft.pages=255-263&rft.issn=0362-1340&rft.eissn=1558-1160&rft_id=info:doi/10.1145/13310.13337&rft_dat=%3Cproquest_cross%3E29472237%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c264t-abca334718abed08a267751a20967af16dae0c35f92b634fc50559ec55b1e5d33%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=29472237&rft_id=info:pmid/&rfr_iscdi=true |