Vineeth Paleri | National Institute of Technology, Calicut (original) (raw)

Papers by Vineeth Paleri

Research paper thumbnail of A fix-point characterization of Herbrand equivalence of expressions in data flow frameworks

arXiv (Cornell University), Aug 16, 2017

The problem of determining Herbrand equivalence of terms at each program point in a data flow fra... more The problem of determining Herbrand equivalence of terms at each program point in a data flow framework is a central and well studied question in program analysis. Most of the well-known algorithms for the computation of Herbrand equivalence in data flow frameworks [4, 9, 11] proceed via iterative fix-point computation on some abstract lattice of short expressions relevant to the given flow graph. However the mathematical definition of Herbrand equivalence is based on a meet over all path characterization over the (infinite) set of all possible expressions (see [12, p. 393]). The aim of this paper is to develop a lattice theoretic fix-point formulation of Herbrand equivalence on the (infinite) concrete lattice defined over the set of all terms constructible from variables, constants and operators of a program. The present characterization uses an axiomatic formulation of the notion of Herbrand congruence and defines the (infinite) concrete lattice of Herbrand congruences. Transfer functions and non-deterministic assignments are formulated as monotone functions over this concrete lattice. Herbrand equivalence is defined as the maximum fix point of a composite transfer function defined over an appropriate product lattice of the above concrete lattice. A re-formulation of the classical meet-overall paths definition of Herbrand equivalence ([12, p. 393]) in the above lattice theoretic framework is also presented and is proven to be equivalent to the new lattice theoretic fix-point characterization.

Research paper thumbnail of Lexical-based partial redundancy elimination: An optimal algorithm with improved efficiency

Journal of Computer Languages

Research paper thumbnail of An Improved Algorithm for Redundancy Detection Using Global Value Numbering

Journal of Information Processing Systems, 2015

Global value numbering (GVN) is a method for detecting equivalent expressions in programs. Most o... more Global value numbering (GVN) is a method for detecting equivalent expressions in programs. Most of the GVN algorithms concentrate on detecting equalities among variables and hence, are limited in their ability to identify value-based redundancies. In this paper, we suggest improvements by which the efficient GVN algorithm by Gulwani and Necula (2007) can be made to detect expression equivalences that are required for identifying value based redundancies. The basic idea for doing so is to use an anticipability-based Join algorithm to compute more precise equivalence information at join points. We provide a proof of correctness of the improved algorithm and show that its running time is a polynomial in the number of expressions in the program.

Research paper thumbnail of Copy Propagation subsumes Constant Propagation

Constant propagation and copy propagation are code transformations that may avoid some load opera... more Constant propagation and copy propagation are code transformations that may avoid some load operations and can enable other optimizations. In literature, constant and copy propagations are considered two independent transformations requiring two different data flow analyses. Here we give a generic definition for copy propagation which enables us to view constant propagation as a particular case of copy propagation and formulate a novel data flow analysis that unifies these two transformations.

Research paper thumbnail of A Note on “A polynomial-time

Global Value Numbering(GVN) is a popular method for detecting redundant computations. A polynomia... more Global Value Numbering(GVN) is a popular method for detecting redundant computations. A polynomial time algorithm for GVN is presented by Gulwani and Necula(2006). Here we present two limitations of this GVN algorithm due to which detection of certain kinds of redundancies can not be done using this algorithm. The first one is concerning the use of this algorithm in detecting some instances of the classical global common subexpressions, and the second is concerning its use in the detection of some redundancies that a local value numbering algorithm will detect. We suggest improvements that enable the algorithm to detect these kinds of redundancies as well.

Research paper thumbnail of A Fix-Point Characterization of Herbrand Equivalence of Expressions in Data Flow Frameworks

Logic and Its Applications, 2019

The problem of determining Herbrand equivalence of terms at each program point in a data flow fra... more The problem of determining Herbrand equivalence of terms at each program point in a data flow framework is a central and well studied question in program analysis. Most of the well-known algorithms for the computation of Herbrand equivalence in data flow frameworks [4, 9, 11] proceed via iterative fix-point computation on some abstract lattice of short expressions relevant to the given flow graph. However the mathematical definition of Herbrand equivalence is based on a meet over all path characterization over the (infinite) set of all possible expressions (see [12, p. 393]). The aim of this paper is to develop a lattice theoretic fix-point formulation of Herbrand equivalence on the (infinite) concrete lattice defined over the set of all terms constructible from variables, constants and operators of a program. The present characterization uses an axiomatic formulation of the notion of Herbrand congruence and defines the (infinite) concrete lattice of Herbrand congruences. Transfer functions and non-deterministic assignments are formulated as monotone functions over this concrete lattice. Herbrand equivalence is defined as the maximum fix point of a composite transfer function defined over an appropriate product lattice of the above concrete lattice. A re-formulation of the classical meet-overall paths definition of Herbrand equivalence ([12, p. 393]) in the above lattice theoretic framework is also presented and is proven to be equivalent to the new lattice theoretic fix-point characterization.

Research paper thumbnail of Partial redundancy elimination: a simple, pragmatic, and provably correct algorithm

Science of Computer Programming, 2003

We propose a new algorithm for partial redundancy elimination based on the new concepts of safe p... more We propose a new algorithm for partial redundancy elimination based on the new concepts of safe partial availability and safe partial anticipability. These new concepts are derived by the integration of the notion of safety into the deÿnitions of partial availability and partial anticipability. The algorithm works on ow graphs whose nodes are basic blocks. It is both computationally and lifetime optimal and requires four unidirectional analyses. The most important feature of the algorithm is its simplicity; the algorithm evolves naturally from the new concept of safe partial availability.

Research paper thumbnail of Global value numbering for redundancy detection

Proceedings of the 29th Annual ACM Symposium on Applied Computing, 2014

Global Value Numbering (GVN) is a method for detecting equivalence among program expressions. Her... more Global Value Numbering (GVN) is a method for detecting equivalence among program expressions. Here we consider the problem of GVN in the context of redundancy detection and present a simple, polynomial time algorithm for the same. The basic idea is to use the concept of value expression - an abstraction of a set of expressions - enabling a representation of the equivalence information which is compact and simple to manipulate. The algorithm detects expression equivalences that are required for identifying value based redundancies. In addition, it achieves completeness in detecting equivalence among variables.

Research paper thumbnail of A Note on" A polynomial-time algorithm for global value numbering

arXiv preprint arXiv:1302.6325, 2013

A Global Value Numbering(GVN) algorithm is considered to be complete (or precise), if it can dete... more A Global Value Numbering(GVN) algorithm is considered to be complete (or precise), if it can detect all Herbrand equivalences among expressions in a program. A polynomial time algorithm for GVN is presented by Gulwani and Necula(2006). Here we present two problems with this algorithm that prevents detection of some of the Herbrand equivalences among program expressions. We suggest improvements that will make the algorithm more precise.

Research paper thumbnail of Automatic Generation of Code Optimizers From Formal Specifications

The Compiler Design Handbook, 2002

Research paper thumbnail of A Fix-Point Characterization of Herbrand Equivalence of Expressions in Data Flow Frameworks

Lecture Notes in Computer Science, 2019

The problem of determining Herbrand equivalence of terms at each program point in a data flow fra... more The problem of determining Herbrand equivalence of terms at each program point in a data flow framework is a central and well studied question in program analysis. Most of the well-known algorithms for the computation of Herbrand equivalence in data flow frameworks [4, 9, 11] proceed via iterative fix-point computation on some abstract lattice of short expressions relevant to the given flow graph. However the mathematical definition of Herbrand equivalence is based on a meet over all path characterization over the (infinite) set of all possible expressions (see [12, p. 393]). The aim of this paper is to develop a lattice theoretic fix-point formulation of Herbrand equivalence on the (infinite) concrete lattice defined over the set of all terms constructible from variables, constants and operators of a program. The present characterization uses an axiomatic formulation of the notion of Herbrand congruence and defines the (infinite) concrete lattice of Herbrand congruences. Transfer functions and non-deterministic assignments are formulated as monotone functions over this concrete lattice. Herbrand equivalence is defined as the maximum fix point of a composite transfer function defined over an appropriate product lattice of the above concrete lattice. A re-formulation of the classical meet-overall paths definition of Herbrand equivalence ([12, p. 393]) in the above lattice theoretic framework is also presented and is proven to be equivalent to the new lattice theoretic fix-point characterization.

Research paper thumbnail of A Simple Algorithm for Global Value Numbering

Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, w... more Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, we introduce the problem of Global Value Numbering in its original form, as conceived by Kildall(1973), and present an algorithm which is a simpler variant of Kildall's. The algorithm uses the concept of value expression-an abstraction of a set of expressions-enabling a representation of the equivalence information which is compact and simple to manipulate.

Research paper thumbnail of A Simple Algorithm for Global Value Numbering

Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, w... more Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, we introduce the problem of Global Value Numbering in its original form, as conceived by Kildall(1973), and present an algorithm which is a simpler variant of Kildall's. The algorithm uses the concept of value expression - an abstraction of a set of expressions - enabling a representation of the equivalence information which is compact and simple to manipulate.

Research paper thumbnail of A Note on "A polynomial-time algorithm for global value numbering

Global Value Numbering(GVN) is a popular method for detecting redundant computations. A polynomia... more Global Value Numbering(GVN) is a popular method for detecting redundant computations. A polynomial time algorithm for GVN is presented by Gulwani and Necula(2006). Here we present two limitations of this GVN algorithm due to which detection of certain kinds of redundancies can not be done using this algorithm. The first one is concerning the use of this algorithm in detecting some instances of the classical global common subexpressions, and the second is concerning its use in the detection of some redundancies that a local value numbering algorithm will detect. We suggest improvements that enable the algorithm to detect these kinds of redundancies as well.

Research paper thumbnail of Partial Redundancy Elimination: a Simple, Pragmatic, and Provably Correct Algorithm

Science of Computer Programming, 2003

We propose a new algorithm for partial redundancy elimination based on the new concepts of safe p... more We propose a new algorithm for partial redundancy elimination based on the new concepts of safe partial availability and safe partial anticipability. These new concepts are derived by the integration of the notion of safety into the deÿnitions of partial availability and partial anticipability. The algorithm works on ow graphs whose nodes are basic blocks. It is both computationally and lifetime optimal and requires four unidirectional analyses. The most important feature of the algorithm is its simplicity; the algorithm evolves naturally from the new concept of safe partial availability.

Research paper thumbnail of A simple algorithm for partial redundancy elimination

Sigplan Notices, 1998

Partial redundancy elimination was originally formulated as a bidirectional, bit-vector, data-flo... more Partial redundancy elimination was originally formulated as a bidirectional, bit-vector, data-flow analysis problem by Morel and Renvoise. Dhamdhere improved the original algorithm using the concept of edge placement. Knoop, Rüthing, and Steffen viewed the problem within a framework that required only four unidirectional analyses for an optimal solution. Here, we propose an algorithm for partial redundancy elimination based on well

Research paper thumbnail of A Note on "A polynomial-time algorithm for global value numbering

A Global Value Numbering(GVN) algorithm is considered to be complete (or precise), if it can dete... more A Global Value Numbering(GVN) algorithm is considered to be complete (or precise), if it can detect all Herbrand equivalences among expressions in a program. A polynomial time algorithm for GVN is presented by Gulwani and Necula(2006). Here we present two problems with this algorithm that prevents detection of some of the Herbrand equivalences among program expressions. We suggest improvements that will make the algorithm more precise.

Research paper thumbnail of A Simple Algorithm for Global Value Numbering

Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, w... more Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, we introduce the problem of Global Value Numbering in its original form, as conceived by Kildall(1973), and present an algorithm which is a simpler variant of Kildall's. The algorithm uses the concept of value expression - an abstraction of a set of expressions - enabling a representation of the equivalence information which is compact and simple to manipulate.

Research paper thumbnail of Abstracts of Important Research Contributions

The paper proposes a new algorithm for partial redundancy elimination based on the new concepts o... more The paper proposes a new algorithm for partial redundancy elimination based on the new concepts of safe partial availability and safe partial anticipability. These new concepts are derived by the integration of the notion of safety into the definitions of partial availability and partial anticipability. The algorithm works on flow graphs whose nodes are basic blocks. It is both computationally

Research paper thumbnail of Global Value Numbering for Redundancy Detection: A Simple and Efficient Algorithm

Global Value Numbering (GVN) is a method for detecting equivalence among program expressions. Her... more Global Value Numbering (GVN) is a method for detecting
equivalence among program expressions. Here we consider
the problem of GVN in the context of redundancy detec-
tion and present a simple, polynomial time algorithm for
the same. The basic idea is to use the concept of value ex-
pression - an abstraction of a set of expressions - enabling a
representation of the equivalence information which is com-
pact and simple to manipulate. The algorithm detects ex-
pression equivalences that are required for identifying value
based redundancies. In addition, it achieves completeness in
detecting equivalence among variables.

Research paper thumbnail of A fix-point characterization of Herbrand equivalence of expressions in data flow frameworks

arXiv (Cornell University), Aug 16, 2017

The problem of determining Herbrand equivalence of terms at each program point in a data flow fra... more The problem of determining Herbrand equivalence of terms at each program point in a data flow framework is a central and well studied question in program analysis. Most of the well-known algorithms for the computation of Herbrand equivalence in data flow frameworks [4, 9, 11] proceed via iterative fix-point computation on some abstract lattice of short expressions relevant to the given flow graph. However the mathematical definition of Herbrand equivalence is based on a meet over all path characterization over the (infinite) set of all possible expressions (see [12, p. 393]). The aim of this paper is to develop a lattice theoretic fix-point formulation of Herbrand equivalence on the (infinite) concrete lattice defined over the set of all terms constructible from variables, constants and operators of a program. The present characterization uses an axiomatic formulation of the notion of Herbrand congruence and defines the (infinite) concrete lattice of Herbrand congruences. Transfer functions and non-deterministic assignments are formulated as monotone functions over this concrete lattice. Herbrand equivalence is defined as the maximum fix point of a composite transfer function defined over an appropriate product lattice of the above concrete lattice. A re-formulation of the classical meet-overall paths definition of Herbrand equivalence ([12, p. 393]) in the above lattice theoretic framework is also presented and is proven to be equivalent to the new lattice theoretic fix-point characterization.

Research paper thumbnail of Lexical-based partial redundancy elimination: An optimal algorithm with improved efficiency

Journal of Computer Languages

Research paper thumbnail of An Improved Algorithm for Redundancy Detection Using Global Value Numbering

Journal of Information Processing Systems, 2015

Global value numbering (GVN) is a method for detecting equivalent expressions in programs. Most o... more Global value numbering (GVN) is a method for detecting equivalent expressions in programs. Most of the GVN algorithms concentrate on detecting equalities among variables and hence, are limited in their ability to identify value-based redundancies. In this paper, we suggest improvements by which the efficient GVN algorithm by Gulwani and Necula (2007) can be made to detect expression equivalences that are required for identifying value based redundancies. The basic idea for doing so is to use an anticipability-based Join algorithm to compute more precise equivalence information at join points. We provide a proof of correctness of the improved algorithm and show that its running time is a polynomial in the number of expressions in the program.

Research paper thumbnail of Copy Propagation subsumes Constant Propagation

Constant propagation and copy propagation are code transformations that may avoid some load opera... more Constant propagation and copy propagation are code transformations that may avoid some load operations and can enable other optimizations. In literature, constant and copy propagations are considered two independent transformations requiring two different data flow analyses. Here we give a generic definition for copy propagation which enables us to view constant propagation as a particular case of copy propagation and formulate a novel data flow analysis that unifies these two transformations.

Research paper thumbnail of A Note on “A polynomial-time

Global Value Numbering(GVN) is a popular method for detecting redundant computations. A polynomia... more Global Value Numbering(GVN) is a popular method for detecting redundant computations. A polynomial time algorithm for GVN is presented by Gulwani and Necula(2006). Here we present two limitations of this GVN algorithm due to which detection of certain kinds of redundancies can not be done using this algorithm. The first one is concerning the use of this algorithm in detecting some instances of the classical global common subexpressions, and the second is concerning its use in the detection of some redundancies that a local value numbering algorithm will detect. We suggest improvements that enable the algorithm to detect these kinds of redundancies as well.

Research paper thumbnail of A Fix-Point Characterization of Herbrand Equivalence of Expressions in Data Flow Frameworks

Logic and Its Applications, 2019

The problem of determining Herbrand equivalence of terms at each program point in a data flow fra... more The problem of determining Herbrand equivalence of terms at each program point in a data flow framework is a central and well studied question in program analysis. Most of the well-known algorithms for the computation of Herbrand equivalence in data flow frameworks [4, 9, 11] proceed via iterative fix-point computation on some abstract lattice of short expressions relevant to the given flow graph. However the mathematical definition of Herbrand equivalence is based on a meet over all path characterization over the (infinite) set of all possible expressions (see [12, p. 393]). The aim of this paper is to develop a lattice theoretic fix-point formulation of Herbrand equivalence on the (infinite) concrete lattice defined over the set of all terms constructible from variables, constants and operators of a program. The present characterization uses an axiomatic formulation of the notion of Herbrand congruence and defines the (infinite) concrete lattice of Herbrand congruences. Transfer functions and non-deterministic assignments are formulated as monotone functions over this concrete lattice. Herbrand equivalence is defined as the maximum fix point of a composite transfer function defined over an appropriate product lattice of the above concrete lattice. A re-formulation of the classical meet-overall paths definition of Herbrand equivalence ([12, p. 393]) in the above lattice theoretic framework is also presented and is proven to be equivalent to the new lattice theoretic fix-point characterization.

Research paper thumbnail of Partial redundancy elimination: a simple, pragmatic, and provably correct algorithm

Science of Computer Programming, 2003

We propose a new algorithm for partial redundancy elimination based on the new concepts of safe p... more We propose a new algorithm for partial redundancy elimination based on the new concepts of safe partial availability and safe partial anticipability. These new concepts are derived by the integration of the notion of safety into the deÿnitions of partial availability and partial anticipability. The algorithm works on ow graphs whose nodes are basic blocks. It is both computationally and lifetime optimal and requires four unidirectional analyses. The most important feature of the algorithm is its simplicity; the algorithm evolves naturally from the new concept of safe partial availability.

Research paper thumbnail of Global value numbering for redundancy detection

Proceedings of the 29th Annual ACM Symposium on Applied Computing, 2014

Global Value Numbering (GVN) is a method for detecting equivalence among program expressions. Her... more Global Value Numbering (GVN) is a method for detecting equivalence among program expressions. Here we consider the problem of GVN in the context of redundancy detection and present a simple, polynomial time algorithm for the same. The basic idea is to use the concept of value expression - an abstraction of a set of expressions - enabling a representation of the equivalence information which is compact and simple to manipulate. The algorithm detects expression equivalences that are required for identifying value based redundancies. In addition, it achieves completeness in detecting equivalence among variables.

Research paper thumbnail of A Note on" A polynomial-time algorithm for global value numbering

arXiv preprint arXiv:1302.6325, 2013

A Global Value Numbering(GVN) algorithm is considered to be complete (or precise), if it can dete... more A Global Value Numbering(GVN) algorithm is considered to be complete (or precise), if it can detect all Herbrand equivalences among expressions in a program. A polynomial time algorithm for GVN is presented by Gulwani and Necula(2006). Here we present two problems with this algorithm that prevents detection of some of the Herbrand equivalences among program expressions. We suggest improvements that will make the algorithm more precise.

Research paper thumbnail of Automatic Generation of Code Optimizers From Formal Specifications

The Compiler Design Handbook, 2002

Research paper thumbnail of A Fix-Point Characterization of Herbrand Equivalence of Expressions in Data Flow Frameworks

Lecture Notes in Computer Science, 2019

The problem of determining Herbrand equivalence of terms at each program point in a data flow fra... more The problem of determining Herbrand equivalence of terms at each program point in a data flow framework is a central and well studied question in program analysis. Most of the well-known algorithms for the computation of Herbrand equivalence in data flow frameworks [4, 9, 11] proceed via iterative fix-point computation on some abstract lattice of short expressions relevant to the given flow graph. However the mathematical definition of Herbrand equivalence is based on a meet over all path characterization over the (infinite) set of all possible expressions (see [12, p. 393]). The aim of this paper is to develop a lattice theoretic fix-point formulation of Herbrand equivalence on the (infinite) concrete lattice defined over the set of all terms constructible from variables, constants and operators of a program. The present characterization uses an axiomatic formulation of the notion of Herbrand congruence and defines the (infinite) concrete lattice of Herbrand congruences. Transfer functions and non-deterministic assignments are formulated as monotone functions over this concrete lattice. Herbrand equivalence is defined as the maximum fix point of a composite transfer function defined over an appropriate product lattice of the above concrete lattice. A re-formulation of the classical meet-overall paths definition of Herbrand equivalence ([12, p. 393]) in the above lattice theoretic framework is also presented and is proven to be equivalent to the new lattice theoretic fix-point characterization.

Research paper thumbnail of A Simple Algorithm for Global Value Numbering

Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, w... more Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, we introduce the problem of Global Value Numbering in its original form, as conceived by Kildall(1973), and present an algorithm which is a simpler variant of Kildall's. The algorithm uses the concept of value expression-an abstraction of a set of expressions-enabling a representation of the equivalence information which is compact and simple to manipulate.

Research paper thumbnail of A Simple Algorithm for Global Value Numbering

Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, w... more Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, we introduce the problem of Global Value Numbering in its original form, as conceived by Kildall(1973), and present an algorithm which is a simpler variant of Kildall's. The algorithm uses the concept of value expression - an abstraction of a set of expressions - enabling a representation of the equivalence information which is compact and simple to manipulate.

Research paper thumbnail of A Note on "A polynomial-time algorithm for global value numbering

Global Value Numbering(GVN) is a popular method for detecting redundant computations. A polynomia... more Global Value Numbering(GVN) is a popular method for detecting redundant computations. A polynomial time algorithm for GVN is presented by Gulwani and Necula(2006). Here we present two limitations of this GVN algorithm due to which detection of certain kinds of redundancies can not be done using this algorithm. The first one is concerning the use of this algorithm in detecting some instances of the classical global common subexpressions, and the second is concerning its use in the detection of some redundancies that a local value numbering algorithm will detect. We suggest improvements that enable the algorithm to detect these kinds of redundancies as well.

Research paper thumbnail of Partial Redundancy Elimination: a Simple, Pragmatic, and Provably Correct Algorithm

Science of Computer Programming, 2003

We propose a new algorithm for partial redundancy elimination based on the new concepts of safe p... more We propose a new algorithm for partial redundancy elimination based on the new concepts of safe partial availability and safe partial anticipability. These new concepts are derived by the integration of the notion of safety into the deÿnitions of partial availability and partial anticipability. The algorithm works on ow graphs whose nodes are basic blocks. It is both computationally and lifetime optimal and requires four unidirectional analyses. The most important feature of the algorithm is its simplicity; the algorithm evolves naturally from the new concept of safe partial availability.

Research paper thumbnail of A simple algorithm for partial redundancy elimination

Sigplan Notices, 1998

Partial redundancy elimination was originally formulated as a bidirectional, bit-vector, data-flo... more Partial redundancy elimination was originally formulated as a bidirectional, bit-vector, data-flow analysis problem by Morel and Renvoise. Dhamdhere improved the original algorithm using the concept of edge placement. Knoop, Rüthing, and Steffen viewed the problem within a framework that required only four unidirectional analyses for an optimal solution. Here, we propose an algorithm for partial redundancy elimination based on well

Research paper thumbnail of A Note on "A polynomial-time algorithm for global value numbering

A Global Value Numbering(GVN) algorithm is considered to be complete (or precise), if it can dete... more A Global Value Numbering(GVN) algorithm is considered to be complete (or precise), if it can detect all Herbrand equivalences among expressions in a program. A polynomial time algorithm for GVN is presented by Gulwani and Necula(2006). Here we present two problems with this algorithm that prevents detection of some of the Herbrand equivalences among program expressions. We suggest improvements that will make the algorithm more precise.

Research paper thumbnail of A Simple Algorithm for Global Value Numbering

Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, w... more Global Value Numbering(GVN) is a method for detecting redundant computations in programs. Here, we introduce the problem of Global Value Numbering in its original form, as conceived by Kildall(1973), and present an algorithm which is a simpler variant of Kildall's. The algorithm uses the concept of value expression - an abstraction of a set of expressions - enabling a representation of the equivalence information which is compact and simple to manipulate.

Research paper thumbnail of Abstracts of Important Research Contributions

The paper proposes a new algorithm for partial redundancy elimination based on the new concepts o... more The paper proposes a new algorithm for partial redundancy elimination based on the new concepts of safe partial availability and safe partial anticipability. These new concepts are derived by the integration of the notion of safety into the definitions of partial availability and partial anticipability. The algorithm works on flow graphs whose nodes are basic blocks. It is both computationally

Research paper thumbnail of Global Value Numbering for Redundancy Detection: A Simple and Efficient Algorithm

Global Value Numbering (GVN) is a method for detecting equivalence among program expressions. Her... more Global Value Numbering (GVN) is a method for detecting
equivalence among program expressions. Here we consider
the problem of GVN in the context of redundancy detec-
tion and present a simple, polynomial time algorithm for
the same. The basic idea is to use the concept of value ex-
pression - an abstraction of a set of expressions - enabling a
representation of the equivalence information which is com-
pact and simple to manipulate. The algorithm detects ex-
pression equivalences that are required for identifying value
based redundancies. In addition, it achieves completeness in
detecting equivalence among variables.