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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Cooper, Keith D., Xu, Li
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