The impact of interprocedural analysis and optimization in the R(n) programming environment

In spite of substantial progress in the theory of interprocedural data flow analysis, few practical compiling systems can afford to apply it to produce more efficient object programs. To perform interprocedural analysis, a compiler needs not only the source code of the module being compiled, but als...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM transactions on programming languages and systems 1986-10, Vol.8 (4), p.491-523
Hauptverfasser: Cooper, Keith D, Kennedy, Ken, Torczon, Linda
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 523
container_issue 4
container_start_page 491
container_title ACM transactions on programming languages and systems
container_volume 8
creator Cooper, Keith D
Kennedy, Ken
Torczon, Linda
description In spite of substantial progress in the theory of interprocedural data flow analysis, few practical compiling systems can afford to apply it to produce more efficient object programs. To perform interprocedural analysis, a compiler needs not only the source code of the module being compiled, but also information about the side effects of every procedure in the program containing that module, even separately compiled procedures. In a conventional batch compiler system, the increase in compilation time required to gather this information would make the whole process impractical. In an integrated programming environment, however, other tools can cooperate with the compiler to compute the necessary interprocedural information incrementally . as the program is being developed, decreasing both the overall cost of the analysis and the cost of individual compilations. A central goal of the R n project at Rice University is to construct a prototype software development environment that is designed to build whole programs, rather than just individual modules. It employs interprocedural analysis and optimization to produce high-quality machine code for whole programs. This paper presents an overview of the methods used by the environment to accomplish this task and discusses the impact of these methods on the various environment components. The responsibilities of each component of the environment for the preparation and use of interprocedural information are presented in detail.
doi_str_mv 10.1145/6465.6489
format Article
fullrecord <record><control><sourceid>proquest</sourceid><recordid>TN_cdi_proquest_miscellaneous_29060056</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>29060056</sourcerecordid><originalsourceid>FETCH-LOGICAL-p99t-594f432874ae52337af5b5026733dd3105210f9a85f2c1f41d54b178d31a65ec3</originalsourceid><addsrcrecordid>eNotjk1LAzEYhHNQsFYP_oOcRA9b8_Vmk6MUrUJBkL15KOluUiObZN2kgv56A3qagZlnGISuKFlRKuBOCgkrKZQ-QQtCpWiIZnCGznP-IIRQBWqB3rp3i32YTF9wctjHYudpTr0djrMZsYlm_M4-VzPgNBUf_I8pPsXaxKWirzfxFlfgMJsQfDxgG7_8nGKwsVygU2fGbC__dYm6x4du_dRsXzbP6_ttM2ldGtDCCc5UK4wFxnlrHOyBMNlyPgycEmCUOG0UONZTJ-gAYk9bVSMjwfZ8ia7_ZuuNz6PNZRd87u04mmjTMe-YJpIQkPwXtOhSwg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>29060056</pqid></control><display><type>article</type><title>The impact of interprocedural analysis and optimization in the R(n) programming environment</title><source>ACM Digital Library</source><creator>Cooper, Keith D ; Kennedy, Ken ; Torczon, Linda</creator><creatorcontrib>Cooper, Keith D ; Kennedy, Ken ; Torczon, Linda</creatorcontrib><description>In spite of substantial progress in the theory of interprocedural data flow analysis, few practical compiling systems can afford to apply it to produce more efficient object programs. To perform interprocedural analysis, a compiler needs not only the source code of the module being compiled, but also information about the side effects of every procedure in the program containing that module, even separately compiled procedures. In a conventional batch compiler system, the increase in compilation time required to gather this information would make the whole process impractical. In an integrated programming environment, however, other tools can cooperate with the compiler to compute the necessary interprocedural information incrementally . as the program is being developed, decreasing both the overall cost of the analysis and the cost of individual compilations. A central goal of the R n project at Rice University is to construct a prototype software development environment that is designed to build whole programs, rather than just individual modules. It employs interprocedural analysis and optimization to produce high-quality machine code for whole programs. This paper presents an overview of the methods used by the environment to accomplish this task and discusses the impact of these methods on the various environment components. The responsibilities of each component of the environment for the preparation and use of interprocedural information are presented in detail.</description><identifier>ISSN: 0164-0925</identifier><identifier>DOI: 10.1145/6465.6489</identifier><language>eng</language><ispartof>ACM transactions on programming languages and systems, 1986-10, Vol.8 (4), p.491-523</ispartof><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27923,27924</link.rule.ids></links><search><creatorcontrib>Cooper, Keith D</creatorcontrib><creatorcontrib>Kennedy, Ken</creatorcontrib><creatorcontrib>Torczon, Linda</creatorcontrib><title>The impact of interprocedural analysis and optimization in the R(n) programming environment</title><title>ACM transactions on programming languages and systems</title><description>In spite of substantial progress in the theory of interprocedural data flow analysis, few practical compiling systems can afford to apply it to produce more efficient object programs. To perform interprocedural analysis, a compiler needs not only the source code of the module being compiled, but also information about the side effects of every procedure in the program containing that module, even separately compiled procedures. In a conventional batch compiler system, the increase in compilation time required to gather this information would make the whole process impractical. In an integrated programming environment, however, other tools can cooperate with the compiler to compute the necessary interprocedural information incrementally . as the program is being developed, decreasing both the overall cost of the analysis and the cost of individual compilations. A central goal of the R n project at Rice University is to construct a prototype software development environment that is designed to build whole programs, rather than just individual modules. It employs interprocedural analysis and optimization to produce high-quality machine code for whole programs. This paper presents an overview of the methods used by the environment to accomplish this task and discusses the impact of these methods on the various environment components. The responsibilities of each component of the environment for the preparation and use of interprocedural information are presented in detail.</description><issn>0164-0925</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1986</creationdate><recordtype>article</recordtype><recordid>eNotjk1LAzEYhHNQsFYP_oOcRA9b8_Vmk6MUrUJBkL15KOluUiObZN2kgv56A3qagZlnGISuKFlRKuBOCgkrKZQ-QQtCpWiIZnCGznP-IIRQBWqB3rp3i32YTF9wctjHYudpTr0djrMZsYlm_M4-VzPgNBUf_I8pPsXaxKWirzfxFlfgMJsQfDxgG7_8nGKwsVygU2fGbC__dYm6x4du_dRsXzbP6_ttM2ldGtDCCc5UK4wFxnlrHOyBMNlyPgycEmCUOG0UONZTJ-gAYk9bVSMjwfZ8ia7_ZuuNz6PNZRd87u04mmjTMe-YJpIQkPwXtOhSwg</recordid><startdate>19861001</startdate><enddate>19861001</enddate><creator>Cooper, Keith D</creator><creator>Kennedy, Ken</creator><creator>Torczon, Linda</creator><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19861001</creationdate><title>The impact of interprocedural analysis and optimization in the R(n) programming environment</title><author>Cooper, Keith D ; Kennedy, Ken ; Torczon, Linda</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-p99t-594f432874ae52337af5b5026733dd3105210f9a85f2c1f41d54b178d31a65ec3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1986</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Cooper, Keith D</creatorcontrib><creatorcontrib>Kennedy, Ken</creatorcontrib><creatorcontrib>Torczon, Linda</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><jtitle>ACM transactions on programming languages and systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Cooper, Keith D</au><au>Kennedy, Ken</au><au>Torczon, Linda</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>The impact of interprocedural analysis and optimization in the R(n) programming environment</atitle><jtitle>ACM transactions on programming languages and systems</jtitle><date>1986-10-01</date><risdate>1986</risdate><volume>8</volume><issue>4</issue><spage>491</spage><epage>523</epage><pages>491-523</pages><issn>0164-0925</issn><abstract>In spite of substantial progress in the theory of interprocedural data flow analysis, few practical compiling systems can afford to apply it to produce more efficient object programs. To perform interprocedural analysis, a compiler needs not only the source code of the module being compiled, but also information about the side effects of every procedure in the program containing that module, even separately compiled procedures. In a conventional batch compiler system, the increase in compilation time required to gather this information would make the whole process impractical. In an integrated programming environment, however, other tools can cooperate with the compiler to compute the necessary interprocedural information incrementally . as the program is being developed, decreasing both the overall cost of the analysis and the cost of individual compilations. A central goal of the R n project at Rice University is to construct a prototype software development environment that is designed to build whole programs, rather than just individual modules. It employs interprocedural analysis and optimization to produce high-quality machine code for whole programs. This paper presents an overview of the methods used by the environment to accomplish this task and discusses the impact of these methods on the various environment components. The responsibilities of each component of the environment for the preparation and use of interprocedural information are presented in detail.</abstract><doi>10.1145/6465.6489</doi><tpages>33</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0164-0925
ispartof ACM transactions on programming languages and systems, 1986-10, Vol.8 (4), p.491-523
issn 0164-0925
language eng
recordid cdi_proquest_miscellaneous_29060056
source ACM Digital Library
title The impact of interprocedural analysis and optimization in the R(n) programming environment
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-11T10%3A24%3A52IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=The%20impact%20of%20interprocedural%20analysis%20and%20optimization%20in%20the%20R(n)%20programming%20environment&rft.jtitle=ACM%20transactions%20on%20programming%20languages%20and%20systems&rft.au=Cooper,%20Keith%20D&rft.date=1986-10-01&rft.volume=8&rft.issue=4&rft.spage=491&rft.epage=523&rft.pages=491-523&rft.issn=0164-0925&rft_id=info:doi/10.1145/6465.6489&rft_dat=%3Cproquest%3E29060056%3C/proquest%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=29060056&rft_id=info:pmid/&rfr_iscdi=true