Removal of invariant statements from nested-loops in a single effective compiler pass

This document presents how one of the most important optimizations that a program may undergo is dealt with by means of attributes [7]. A semantic formalization of the classical method which consists of removing all loop-independent statements from the articulation blocks of a loop is given. The met...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:SIGPLAN notices 1975-03, Vol.10 (3), p.87-96
Hauptverfasser: Neel, D., Amirchahy, M.
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 96
container_issue 3
container_start_page 87
container_title SIGPLAN notices
container_volume 10
creator Neel, D.
Amirchahy, M.
description This document presents how one of the most important optimizations that a program may undergo is dealt with by means of attributes [7]. A semantic formalization of the classical method which consists of removing all loop-independent statements from the articulation blocks of a loop is given. The method is equally well applicable to algebraic languages or their intermediate code : in a high level language even very well constructed programs quite often contain in their intermediate code version invariant loop expressions where address evaluations are concerned. Whatever the level of nested-loop structure, the method proposed here would not require more than a single real compiler pass in contrast with classical methods which proceed from the innermost loop and shift the invariant statements just one level at each successive pass. Finally an interesting algorithm to determine the articulation blocks of a program is given in the annexe. This method has been so conceived as to take into account the evaluation of attributes by the system DELTA [6]. In this phase of the compiler possibilities of parallel execution are offered as the evaluation program is data oriented. The rigour of formalization attained together with a certain minimization of risks of erroneous optimization applications which it involves render this method indubitably efficient.
doi_str_mv 10.1145/390015.808406
format Article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_390015_808406</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_390015_808406</sourcerecordid><originalsourceid>FETCH-LOGICAL-c152t-6f65c08f5d29aee8d50c96e49e1124e1b0e08e41d929bcc6862fa4abc9922b723</originalsourceid><addsrcrecordid>eNot0E1LxDAUheEgCo6jS_f5AxnvTZOYLGXwCwYEcdYlTW-k0jYlCQX_vcq4OpuXs3gYu0XYISp91zgA1DsLVoE5YxvU2gpEA-dsA42RAhsFl-yqlC8AaEDaDTu-05RWP_IU-TCvPg9-rrxUX2miuRYec5r4TKVSL8aUlvKbcc_LMH-OxClGCnVYiYc0LcNImS--lGt2Ef1Y6OZ_t-z49PixfxGHt-fX_cNBBNSyChONDmCj7qXzRLbXEJwh5QhRKsIOCCwp7J10XQjGGhm98l1wTsruXjZbJk6_IadSMsV2ycPk83eL0P6ZtCeT9mTS_AA-xlTq</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>Removal of invariant statements from nested-loops in a single effective compiler pass</title><source>ACM Digital Library Complete</source><creator>Neel, D. ; Amirchahy, M.</creator><creatorcontrib>Neel, D. ; Amirchahy, M.</creatorcontrib><description>This document presents how one of the most important optimizations that a program may undergo is dealt with by means of attributes [7]. A semantic formalization of the classical method which consists of removing all loop-independent statements from the articulation blocks of a loop is given. The method is equally well applicable to algebraic languages or their intermediate code : in a high level language even very well constructed programs quite often contain in their intermediate code version invariant loop expressions where address evaluations are concerned. Whatever the level of nested-loop structure, the method proposed here would not require more than a single real compiler pass in contrast with classical methods which proceed from the innermost loop and shift the invariant statements just one level at each successive pass. Finally an interesting algorithm to determine the articulation blocks of a program is given in the annexe. This method has been so conceived as to take into account the evaluation of attributes by the system DELTA [6]. In this phase of the compiler possibilities of parallel execution are offered as the evaluation program is data oriented. The rigour of formalization attained together with a certain minimization of risks of erroneous optimization applications which it involves render this method indubitably efficient.</description><identifier>ISSN: 0362-1340</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/390015.808406</identifier><language>eng</language><ispartof>SIGPLAN notices, 1975-03, Vol.10 (3), p.87-96</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c152t-6f65c08f5d29aee8d50c96e49e1124e1b0e08e41d929bcc6862fa4abc9922b723</citedby><cites>FETCH-LOGICAL-c152t-6f65c08f5d29aee8d50c96e49e1124e1b0e08e41d929bcc6862fa4abc9922b723</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>Neel, D.</creatorcontrib><creatorcontrib>Amirchahy, M.</creatorcontrib><title>Removal of invariant statements from nested-loops in a single effective compiler pass</title><title>SIGPLAN notices</title><description>This document presents how one of the most important optimizations that a program may undergo is dealt with by means of attributes [7]. A semantic formalization of the classical method which consists of removing all loop-independent statements from the articulation blocks of a loop is given. The method is equally well applicable to algebraic languages or their intermediate code : in a high level language even very well constructed programs quite often contain in their intermediate code version invariant loop expressions where address evaluations are concerned. Whatever the level of nested-loop structure, the method proposed here would not require more than a single real compiler pass in contrast with classical methods which proceed from the innermost loop and shift the invariant statements just one level at each successive pass. Finally an interesting algorithm to determine the articulation blocks of a program is given in the annexe. This method has been so conceived as to take into account the evaluation of attributes by the system DELTA [6]. In this phase of the compiler possibilities of parallel execution are offered as the evaluation program is data oriented. The rigour of formalization attained together with a certain minimization of risks of erroneous optimization applications which it involves render this method indubitably efficient.</description><issn>0362-1340</issn><issn>1558-1160</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>1975</creationdate><recordtype>article</recordtype><recordid>eNot0E1LxDAUheEgCo6jS_f5AxnvTZOYLGXwCwYEcdYlTW-k0jYlCQX_vcq4OpuXs3gYu0XYISp91zgA1DsLVoE5YxvU2gpEA-dsA42RAhsFl-yqlC8AaEDaDTu-05RWP_IU-TCvPg9-rrxUX2miuRYec5r4TKVSL8aUlvKbcc_LMH-OxClGCnVYiYc0LcNImS--lGt2Ef1Y6OZ_t-z49PixfxGHt-fX_cNBBNSyChONDmCj7qXzRLbXEJwh5QhRKsIOCCwp7J10XQjGGhm98l1wTsruXjZbJk6_IadSMsV2ycPk83eL0P6ZtCeT9mTS_AA-xlTq</recordid><startdate>197503</startdate><enddate>197503</enddate><creator>Neel, D.</creator><creator>Amirchahy, M.</creator><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>197503</creationdate><title>Removal of invariant statements from nested-loops in a single effective compiler pass</title><author>Neel, D. ; Amirchahy, M.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c152t-6f65c08f5d29aee8d50c96e49e1124e1b0e08e41d929bcc6862fa4abc9922b723</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>1975</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Neel, D.</creatorcontrib><creatorcontrib>Amirchahy, M.</creatorcontrib><collection>CrossRef</collection><jtitle>SIGPLAN notices</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Neel, D.</au><au>Amirchahy, M.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Removal of invariant statements from nested-loops in a single effective compiler pass</atitle><jtitle>SIGPLAN notices</jtitle><date>1975-03</date><risdate>1975</risdate><volume>10</volume><issue>3</issue><spage>87</spage><epage>96</epage><pages>87-96</pages><issn>0362-1340</issn><eissn>1558-1160</eissn><abstract>This document presents how one of the most important optimizations that a program may undergo is dealt with by means of attributes [7]. A semantic formalization of the classical method which consists of removing all loop-independent statements from the articulation blocks of a loop is given. The method is equally well applicable to algebraic languages or their intermediate code : in a high level language even very well constructed programs quite often contain in their intermediate code version invariant loop expressions where address evaluations are concerned. Whatever the level of nested-loop structure, the method proposed here would not require more than a single real compiler pass in contrast with classical methods which proceed from the innermost loop and shift the invariant statements just one level at each successive pass. Finally an interesting algorithm to determine the articulation blocks of a program is given in the annexe. This method has been so conceived as to take into account the evaluation of attributes by the system DELTA [6]. In this phase of the compiler possibilities of parallel execution are offered as the evaluation program is data oriented. The rigour of formalization attained together with a certain minimization of risks of erroneous optimization applications which it involves render this method indubitably efficient.</abstract><doi>10.1145/390015.808406</doi><tpages>10</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0362-1340
ispartof SIGPLAN notices, 1975-03, Vol.10 (3), p.87-96
issn 0362-1340
1558-1160
language eng
recordid cdi_crossref_primary_10_1145_390015_808406
source ACM Digital Library Complete
title Removal of invariant statements from nested-loops in a single effective compiler pass
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-18T16%3A21%3A41IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Removal%20of%20invariant%20statements%20from%20nested-loops%20in%20a%20single%20effective%20compiler%20pass&rft.jtitle=SIGPLAN%20notices&rft.au=Neel,%20D.&rft.date=1975-03&rft.volume=10&rft.issue=3&rft.spage=87&rft.epage=96&rft.pages=87-96&rft.issn=0362-1340&rft.eissn=1558-1160&rft_id=info:doi/10.1145/390015.808406&rft_dat=%3Ccrossref%3E10_1145_390015_808406%3C/crossref%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true