Optimistic register coalescing
Graph-coloring register allocators eliminate copies by coalescing the source and target nodes of a copy if they do not interfere in the interference graph. Coalescing, however, can be harmful to the colorability of the graph because it tends to yield a graph with nodes of higher degrees. Unlike aggr...
Gespeichert in:
Veröffentlicht in: | ACM transactions on programming languages and systems 2004-07, Vol.26 (4), p.735-765 |
---|---|
Hauptverfasser: | , |
Format: | Artikel |
Sprache: | eng |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 765 |
---|---|
container_issue | 4 |
container_start_page | 735 |
container_title | ACM transactions on programming languages and systems |
container_volume | 26 |
creator | Park, Jinpyo Moon, Soo-Mook |
description | Graph-coloring register allocators eliminate copies by coalescing the source and target nodes of a copy if they do not interfere in the interference graph. Coalescing, however, can be harmful to the colorability of the graph because it tends to yield a graph with nodes of higher degrees. Unlike
aggressive coalescing
, which coalesces any pair of noninterfering copy-related nodes,
conservative coalescing
or
iterated coalescing
perform safe coalescing that preserves the colorability. Unfortunately, these heuristics give up coalescing too early, losing many opportunities for coalescing that would turn out to be safe. Moreover, they ignore the fact that coalescing may even improve the colorability of the graph by reducing the degree of neighbor nodes that are interfering with both the source and target nodes being coalesced. This article proposes a new heuristic called
optimistic coalescing
which optimistically performs aggressive coalescing, thus exploiting the positive impact of coalescing aggressively, but when a coalesced node is to be spilled, it is split back into separate nodes. Since there is a better chance of coloring one of those splits, we can reduce the overall spill amount. |
doi_str_mv | 10.1145/1011508.1011512 |
format | Article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_29011741</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>769068721</sourcerecordid><originalsourceid>FETCH-LOGICAL-c367t-78ee885696423e57567a3f6fc761a61341a0b0b1b44208284eeae6a0a62594423</originalsourceid><addsrcrecordid>eNpdkM1Lw0AQxRdRMFbP3qR48JZ2Zr9zlOIXFHrR87JZJiUlTeJucvC_N7U5eXqP4cfjzWPsHmGFKNUaAVGBXf0p8guWoVI2l6oQlywD1DKHgqtrdpPSAQDQKpuxh10_1Mc6DXVYRtpPhuIydL6hFOp2f8uuKt8kupt1wb5eXz437_l29_axed7mQWgz5MYSWat0oSUXpIzSxotKV8Fo9BqFRA8llFhKycFyK4k8aQ9ec1VMN7FgT-fcPnbfI6XBTZ0CNY1vqRuT48X0lZE4gY__wEM3xnbq5jgqI9CaU9r6DIXYpRSpcn2sjz7-OAR3GsvNY7l5LPELSZdYmQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>215731872</pqid></control><display><type>article</type><title>Optimistic register coalescing</title><source>ACM Digital Library Complete</source><creator>Park, Jinpyo ; Moon, Soo-Mook</creator><creatorcontrib>Park, Jinpyo ; Moon, Soo-Mook</creatorcontrib><description>Graph-coloring register allocators eliminate copies by coalescing the source and target nodes of a copy if they do not interfere in the interference graph. Coalescing, however, can be harmful to the colorability of the graph because it tends to yield a graph with nodes of higher degrees. Unlike
aggressive coalescing
, which coalesces any pair of noninterfering copy-related nodes,
conservative coalescing
or
iterated coalescing
perform safe coalescing that preserves the colorability. Unfortunately, these heuristics give up coalescing too early, losing many opportunities for coalescing that would turn out to be safe. Moreover, they ignore the fact that coalescing may even improve the colorability of the graph by reducing the degree of neighbor nodes that are interfering with both the source and target nodes being coalesced. This article proposes a new heuristic called
optimistic coalescing
which optimistically performs aggressive coalescing, thus exploiting the positive impact of coalescing aggressively, but when a coalesced node is to be spilled, it is split back into separate nodes. Since there is a better chance of coloring one of those splits, we can reduce the overall spill amount.</description><identifier>ISSN: 0164-0925</identifier><identifier>EISSN: 1558-4593</identifier><identifier>DOI: 10.1145/1011508.1011512</identifier><identifier>CODEN: ATPSDT</identifier><language>eng</language><publisher>New York: Association for Computing Machinery</publisher><ispartof>ACM transactions on programming languages and systems, 2004-07, Vol.26 (4), p.735-765</ispartof><rights>Copyright Association for Computing Machinery Jul 2004</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c367t-78ee885696423e57567a3f6fc761a61341a0b0b1b44208284eeae6a0a62594423</citedby><cites>FETCH-LOGICAL-c367t-78ee885696423e57567a3f6fc761a61341a0b0b1b44208284eeae6a0a62594423</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>Park, Jinpyo</creatorcontrib><creatorcontrib>Moon, Soo-Mook</creatorcontrib><title>Optimistic register coalescing</title><title>ACM transactions on programming languages and systems</title><description>Graph-coloring register allocators eliminate copies by coalescing the source and target nodes of a copy if they do not interfere in the interference graph. Coalescing, however, can be harmful to the colorability of the graph because it tends to yield a graph with nodes of higher degrees. Unlike
aggressive coalescing
, which coalesces any pair of noninterfering copy-related nodes,
conservative coalescing
or
iterated coalescing
perform safe coalescing that preserves the colorability. Unfortunately, these heuristics give up coalescing too early, losing many opportunities for coalescing that would turn out to be safe. Moreover, they ignore the fact that coalescing may even improve the colorability of the graph by reducing the degree of neighbor nodes that are interfering with both the source and target nodes being coalesced. This article proposes a new heuristic called
optimistic coalescing
which optimistically performs aggressive coalescing, thus exploiting the positive impact of coalescing aggressively, but when a coalesced node is to be spilled, it is split back into separate nodes. Since there is a better chance of coloring one of those splits, we can reduce the overall spill amount.</description><issn>0164-0925</issn><issn>1558-4593</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2004</creationdate><recordtype>article</recordtype><recordid>eNpdkM1Lw0AQxRdRMFbP3qR48JZ2Zr9zlOIXFHrR87JZJiUlTeJucvC_N7U5eXqP4cfjzWPsHmGFKNUaAVGBXf0p8guWoVI2l6oQlywD1DKHgqtrdpPSAQDQKpuxh10_1Mc6DXVYRtpPhuIydL6hFOp2f8uuKt8kupt1wb5eXz437_l29_axed7mQWgz5MYSWat0oSUXpIzSxotKV8Fo9BqFRA8llFhKycFyK4k8aQ9ec1VMN7FgT-fcPnbfI6XBTZ0CNY1vqRuT48X0lZE4gY__wEM3xnbq5jgqI9CaU9r6DIXYpRSpcn2sjz7-OAR3GsvNY7l5LPELSZdYmQ</recordid><startdate>20040701</startdate><enddate>20040701</enddate><creator>Park, Jinpyo</creator><creator>Moon, Soo-Mook</creator><general>Association for Computing Machinery</general><scope>AAYXX</scope><scope>CITATION</scope><scope>JQ2</scope><scope>7SC</scope><scope>8FD</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20040701</creationdate><title>Optimistic register coalescing</title><author>Park, Jinpyo ; Moon, Soo-Mook</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c367t-78ee885696423e57567a3f6fc761a61341a0b0b1b44208284eeae6a0a62594423</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2004</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Park, Jinpyo</creatorcontrib><creatorcontrib>Moon, Soo-Mook</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</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 transactions on programming languages and systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Park, Jinpyo</au><au>Moon, Soo-Mook</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Optimistic register coalescing</atitle><jtitle>ACM transactions on programming languages and systems</jtitle><date>2004-07-01</date><risdate>2004</risdate><volume>26</volume><issue>4</issue><spage>735</spage><epage>765</epage><pages>735-765</pages><issn>0164-0925</issn><eissn>1558-4593</eissn><coden>ATPSDT</coden><abstract>Graph-coloring register allocators eliminate copies by coalescing the source and target nodes of a copy if they do not interfere in the interference graph. Coalescing, however, can be harmful to the colorability of the graph because it tends to yield a graph with nodes of higher degrees. Unlike
aggressive coalescing
, which coalesces any pair of noninterfering copy-related nodes,
conservative coalescing
or
iterated coalescing
perform safe coalescing that preserves the colorability. Unfortunately, these heuristics give up coalescing too early, losing many opportunities for coalescing that would turn out to be safe. Moreover, they ignore the fact that coalescing may even improve the colorability of the graph by reducing the degree of neighbor nodes that are interfering with both the source and target nodes being coalesced. This article proposes a new heuristic called
optimistic coalescing
which optimistically performs aggressive coalescing, thus exploiting the positive impact of coalescing aggressively, but when a coalesced node is to be spilled, it is split back into separate nodes. Since there is a better chance of coloring one of those splits, we can reduce the overall spill amount.</abstract><cop>New York</cop><pub>Association for Computing Machinery</pub><doi>10.1145/1011508.1011512</doi><tpages>31</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0164-0925 |
ispartof | ACM transactions on programming languages and systems, 2004-07, Vol.26 (4), p.735-765 |
issn | 0164-0925 1558-4593 |
language | eng |
recordid | cdi_proquest_miscellaneous_29011741 |
source | ACM Digital Library Complete |
title | Optimistic register coalescing |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-25T11%3A11%3A49IST&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=Optimistic%20register%20coalescing&rft.jtitle=ACM%20transactions%20on%20programming%20languages%20and%20systems&rft.au=Park,%20Jinpyo&rft.date=2004-07-01&rft.volume=26&rft.issue=4&rft.spage=735&rft.epage=765&rft.pages=735-765&rft.issn=0164-0925&rft.eissn=1558-4593&rft.coden=ATPSDT&rft_id=info:doi/10.1145/1011508.1011512&rft_dat=%3Cproquest_cross%3E769068721%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=215731872&rft_id=info:pmid/&rfr_iscdi=true |