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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM transactions on programming languages and systems 2004-07, Vol.26 (4), p.735-765
Hauptverfasser: Park, Jinpyo, Moon, Soo-Mook
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