An efficient static analysis algorithm to detect redundant memory operations
As memory system performance becomes an increasingly dominant factor in overall system performance, it is important to optimize programs for memory related operations. This paper concerns static analysis to detect redundant memory operations and enable other compiler transformations to remove such r...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Tagungsbericht |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 107 |
---|---|
container_issue | |
container_start_page | 97 |
container_title | |
container_volume | |
creator | Cooper, Keith D. Xu, Li |
description | As memory system performance becomes an increasingly dominant factor in overall system performance, it is important to optimize programs for memory related operations. This paper concerns static analysis to detect redundant memory operations and enable other compiler transformations to remove such redundant operations.We present an extended global value numbering algorithm to detect redundant memory operations. The key of the new algorithm is a novel SSA-based representation for memory state which allows accurate reasoning about memory state. Using this representation, the algorithm can trace values through memory operations to detect equivalence in the same way that it traces them through register-based scalar operations. Thus it discovers both redundancy involving scalar values and redundancy involving memory operations. The redundancy relation detected by the algorithm can then be used by traditional redundancy elimination transformations to remove those redundant operations.Experiments using a suite of realistic applications demonstrate the algorithm is powerful and fast. In practice, it has essentially linear time complexity. |
doi_str_mv | 10.1145/773146.773049 |
format | Conference Proceeding |
fullrecord | <record><control><sourceid>proquest_acm_b</sourceid><recordid>TN_cdi_proquest_miscellaneous_31359744</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>31359744</sourcerecordid><originalsourceid>FETCH-LOGICAL-a2089-8cc91d609f04e8e4719337e6b264af52c5465202e1082604c6ac2e09f22889a53</originalsourceid><addsrcrecordid>eNqNkD1PwzAURS0BElXpyO6JiZTnb3usKqBIlVhgtlznBQJJXGJ36L8nqEisTFe6OvcOh5BrBkvGpLozRjCpl1OAdGdk4YydahBGaKvOyQyE5hUTEi7JIucPAOBWOWFgRrargWLTtLHFodBcQmkjDUPojrnNNHRvaWzLe09LojUWjIWOWB-GOkx0j30ajzTtcZxmachX5KIJXcbFb87J68P9y3pTbZ8fn9arbRU4WFfZGB2rNbgGJFqUhjkhDOod1zI0ikclteLAkYHlGmTUIXKccM6tdUGJObk5_e7H9HXAXHzf5ohdFwZMh-wFE8oZKf_AEHu_S-kzewb-x5k_OfMnZxN4-y_Q78YWG_ENLztpbQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype><pqid>31359744</pqid></control><display><type>conference_proceeding</type><title>An efficient static analysis algorithm to detect redundant memory operations</title><source>ACM Digital Library Complete</source><creator>Cooper, Keith D. ; Xu, Li</creator><creatorcontrib>Cooper, Keith D. ; Xu, Li</creatorcontrib><description>As memory system performance becomes an increasingly dominant factor in overall system performance, it is important to optimize programs for memory related operations. This paper concerns static analysis to detect redundant memory operations and enable other compiler transformations to remove such redundant operations.We present an extended global value numbering algorithm to detect redundant memory operations. The key of the new algorithm is a novel SSA-based representation for memory state which allows accurate reasoning about memory state. Using this representation, the algorithm can trace values through memory operations to detect equivalence in the same way that it traces them through register-based scalar operations. Thus it discovers both redundancy involving scalar values and redundancy involving memory operations. The redundancy relation detected by the algorithm can then be used by traditional redundancy elimination transformations to remove those redundant operations.Experiments using a suite of realistic applications demonstrate the algorithm is powerful and fast. In practice, it has essentially linear time complexity.</description><identifier>ISSN: 0362-1340</identifier><identifier>ISBN: 9781450373685</identifier><identifier>ISBN: 1450373682</identifier><identifier>DOI: 10.1145/773146.773049</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Software and its engineering ; Software and its engineering -- Software notations and tools ; Software and its engineering -- Software notations and tools -- Compilers</subject><ispartof>Proceedings of the 2002 workshop on Memory system performance, 2002, p.97-107</ispartof><rights>2002 Copyright is held by the owner/author(s)</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>309,310,776,780,785,786,23910,23911,25119,27904</link.rule.ids></links><search><creatorcontrib>Cooper, Keith D.</creatorcontrib><creatorcontrib>Xu, Li</creatorcontrib><title>An efficient static analysis algorithm to detect redundant memory operations</title><title>Proceedings of the 2002 workshop on Memory system performance</title><description>As memory system performance becomes an increasingly dominant factor in overall system performance, it is important to optimize programs for memory related operations. This paper concerns static analysis to detect redundant memory operations and enable other compiler transformations to remove such redundant operations.We present an extended global value numbering algorithm to detect redundant memory operations. The key of the new algorithm is a novel SSA-based representation for memory state which allows accurate reasoning about memory state. Using this representation, the algorithm can trace values through memory operations to detect equivalence in the same way that it traces them through register-based scalar operations. Thus it discovers both redundancy involving scalar values and redundancy involving memory operations. The redundancy relation detected by the algorithm can then be used by traditional redundancy elimination transformations to remove those redundant operations.Experiments using a suite of realistic applications demonstrate the algorithm is powerful and fast. In practice, it has essentially linear time complexity.</description><subject>Software and its engineering</subject><subject>Software and its engineering -- Software notations and tools</subject><subject>Software and its engineering -- Software notations and tools -- Compilers</subject><issn>0362-1340</issn><isbn>9781450373685</isbn><isbn>1450373682</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2002</creationdate><recordtype>conference_proceeding</recordtype><recordid>eNqNkD1PwzAURS0BElXpyO6JiZTnb3usKqBIlVhgtlznBQJJXGJ36L8nqEisTFe6OvcOh5BrBkvGpLozRjCpl1OAdGdk4YydahBGaKvOyQyE5hUTEi7JIucPAOBWOWFgRrargWLTtLHFodBcQmkjDUPojrnNNHRvaWzLe09LojUWjIWOWB-GOkx0j30ajzTtcZxmachX5KIJXcbFb87J68P9y3pTbZ8fn9arbRU4WFfZGB2rNbgGJFqUhjkhDOod1zI0ikclteLAkYHlGmTUIXKccM6tdUGJObk5_e7H9HXAXHzf5ohdFwZMh-wFE8oZKf_AEHu_S-kzewb-x5k_OfMnZxN4-y_Q78YWG_ENLztpbQ</recordid><startdate>20020616</startdate><enddate>20020616</enddate><creator>Cooper, Keith D.</creator><creator>Xu, Li</creator><general>ACM</general><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20020616</creationdate><title>An efficient static analysis algorithm to detect redundant memory operations</title><author>Cooper, Keith D. ; Xu, Li</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a2089-8cc91d609f04e8e4719337e6b264af52c5465202e1082604c6ac2e09f22889a53</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2002</creationdate><topic>Software and its engineering</topic><topic>Software and its engineering -- Software notations and tools</topic><topic>Software and its engineering -- Software notations and tools -- Compilers</topic><toplevel>online_resources</toplevel><creatorcontrib>Cooper, Keith D.</creatorcontrib><creatorcontrib>Xu, Li</creatorcontrib><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></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Cooper, Keith D.</au><au>Xu, Li</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>An efficient static analysis algorithm to detect redundant memory operations</atitle><btitle>Proceedings of the 2002 workshop on Memory system performance</btitle><date>2002-06-16</date><risdate>2002</risdate><spage>97</spage><epage>107</epage><pages>97-107</pages><issn>0362-1340</issn><isbn>9781450373685</isbn><isbn>1450373682</isbn><abstract>As memory system performance becomes an increasingly dominant factor in overall system performance, it is important to optimize programs for memory related operations. This paper concerns static analysis to detect redundant memory operations and enable other compiler transformations to remove such redundant operations.We present an extended global value numbering algorithm to detect redundant memory operations. The key of the new algorithm is a novel SSA-based representation for memory state which allows accurate reasoning about memory state. Using this representation, the algorithm can trace values through memory operations to detect equivalence in the same way that it traces them through register-based scalar operations. Thus it discovers both redundancy involving scalar values and redundancy involving memory operations. The redundancy relation detected by the algorithm can then be used by traditional redundancy elimination transformations to remove those redundant operations.Experiments using a suite of realistic applications demonstrate the algorithm is powerful and fast. In practice, it has essentially linear time complexity.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/773146.773049</doi><tpages>11</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0362-1340 |
ispartof | Proceedings of the 2002 workshop on Memory system performance, 2002, p.97-107 |
issn | 0362-1340 |
language | eng |
recordid | cdi_proquest_miscellaneous_31359744 |
source | ACM Digital Library Complete |
subjects | Software and its engineering Software and its engineering -- Software notations and tools Software and its engineering -- Software notations and tools -- Compilers |
title | An efficient static analysis algorithm to detect redundant memory operations |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-25T21%3A51%3A47IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_acm_b&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=An%20efficient%20static%20analysis%20algorithm%20to%20detect%20redundant%20memory%20operations&rft.btitle=Proceedings%20of%20the%202002%20workshop%20on%20Memory%20system%20performance&rft.au=Cooper,%20Keith%20D.&rft.date=2002-06-16&rft.spage=97&rft.epage=107&rft.pages=97-107&rft.issn=0362-1340&rft.isbn=9781450373685&rft.isbn_list=1450373682&rft_id=info:doi/10.1145/773146.773049&rft_dat=%3Cproquest_acm_b%3E31359744%3C/proquest_acm_b%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=31359744&rft_id=info:pmid/&rfr_iscdi=true |