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...

Full description

Saved in:
Bibliographic Details
Published in:SIGPLAN notices 1986-07, Vol.21 (7), p.255-263
Main Authors: Larus, James R., Hilfinger, Paul N.
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