Loop-dead optimization

Sachin Shaw, Pawan Kumar

Research output: Contribution to journalArticle

Abstract

A loop is a critical part of any program. A loop is normally executed a large number of times, hence if any statement can be moved outside the loop then computation can speed-up. Loop invariant computations have been studied in great detail. Here a computation, which does not change inside the loop (on successive execution of the loop), is done before the loop. Such a computation involves only the loop invariant variables. These are variables, whose value does not change inside the loop. Here we talk about a variable, which changes inside the loop, but only the last value is useful. The computation needed in the definition of this variable can be moved outside the loop (after the loop). Formally a loop-dead variable is that which is defined in the loop but not used in the loop. Later we extend this definition as follows: A loop-dead variable is that which is not used inside the loop except in the definition of the other loop dead variables.

Original languageEnglish
Pages (from-to)33-40
Number of pages8
JournalACM SIGPLAN Notices
Volume40
Issue number2
DOIs
Publication statusPublished - Feb 1 2005

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Graphics and Computer-Aided Design

Cite this

Shaw, Sachin ; Kumar, Pawan. / Loop-dead optimization. In: ACM SIGPLAN Notices. 2005 ; Vol. 40, No. 2. pp. 33-40.
@article{cc0e546cd0d14aca9d243d981324b50a,
title = "Loop-dead optimization",
abstract = "A loop is a critical part of any program. A loop is normally executed a large number of times, hence if any statement can be moved outside the loop then computation can speed-up. Loop invariant computations have been studied in great detail. Here a computation, which does not change inside the loop (on successive execution of the loop), is done before the loop. Such a computation involves only the loop invariant variables. These are variables, whose value does not change inside the loop. Here we talk about a variable, which changes inside the loop, but only the last value is useful. The computation needed in the definition of this variable can be moved outside the loop (after the loop). Formally a loop-dead variable is that which is defined in the loop but not used in the loop. Later we extend this definition as follows: A loop-dead variable is that which is not used inside the loop except in the definition of the other loop dead variables.",
author = "Sachin Shaw and Pawan Kumar",
year = "2005",
month = "2",
day = "1",
doi = "10.1145/1052659.1052665",
language = "English",
volume = "40",
pages = "33--40",
journal = "ACM SIGPLAN Notices",
issn = "1523-2867",
publisher = "Association for Computing Machinery (ACM)",
number = "2",

}

Loop-dead optimization. / Shaw, Sachin; Kumar, Pawan.

In: ACM SIGPLAN Notices, Vol. 40, No. 2, 01.02.2005, p. 33-40.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Loop-dead optimization

AU - Shaw, Sachin

AU - Kumar, Pawan

PY - 2005/2/1

Y1 - 2005/2/1

N2 - A loop is a critical part of any program. A loop is normally executed a large number of times, hence if any statement can be moved outside the loop then computation can speed-up. Loop invariant computations have been studied in great detail. Here a computation, which does not change inside the loop (on successive execution of the loop), is done before the loop. Such a computation involves only the loop invariant variables. These are variables, whose value does not change inside the loop. Here we talk about a variable, which changes inside the loop, but only the last value is useful. The computation needed in the definition of this variable can be moved outside the loop (after the loop). Formally a loop-dead variable is that which is defined in the loop but not used in the loop. Later we extend this definition as follows: A loop-dead variable is that which is not used inside the loop except in the definition of the other loop dead variables.

AB - A loop is a critical part of any program. A loop is normally executed a large number of times, hence if any statement can be moved outside the loop then computation can speed-up. Loop invariant computations have been studied in great detail. Here a computation, which does not change inside the loop (on successive execution of the loop), is done before the loop. Such a computation involves only the loop invariant variables. These are variables, whose value does not change inside the loop. Here we talk about a variable, which changes inside the loop, but only the last value is useful. The computation needed in the definition of this variable can be moved outside the loop (after the loop). Formally a loop-dead variable is that which is defined in the loop but not used in the loop. Later we extend this definition as follows: A loop-dead variable is that which is not used inside the loop except in the definition of the other loop dead variables.

UR - http://www.scopus.com/inward/record.url?scp=16244419366&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=16244419366&partnerID=8YFLogxK

U2 - 10.1145/1052659.1052665

DO - 10.1145/1052659.1052665

M3 - Article

VL - 40

SP - 33

EP - 40

JO - ACM SIGPLAN Notices

JF - ACM SIGPLAN Notices

SN - 1523-2867

IS - 2

ER -