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.
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.
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.
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
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.
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
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.
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.
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.
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.
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
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.
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
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.
Uploads
Papers by Vineeth Paleri
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.
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.