Learn More
In optimizing compilers, data structure choices directly influence the power and efficiency of practical program optimization. A poor choice of data structure can inhibit optimization or slow compilation to the point that advanced optimization features become undesirable. Recently, static single assignment form and the control dependence graph have been(More)
The incremental circuit value problem arises in diverse interactive computational problems, including the semantic checking done by structure-based editors and such tasks as timing analysis performed by computer-aided design systems. An efficient incremental algorithm for updating the values of gates in a circuit (after a change in circuit parameters and/or(More)
Elimination of partial redundancies is a powerful optimization that has been implemented in at least three important production compilers and has inspired several simdar optimization. The global data ffow analysis that supports this family of optimization includes some bidirectional prob-Jems. (A bidirectional problem is one in which the global inform ation(More)
For many years, the generally accepted methods for solving global data flow analysis problems (GDFAPs) have relied on the <i>bit vector paradigm</i> [Alle 70] [Kenn 81]. In these algorithms, the information for each variable is represented as a position in a bit vector. These vectors are propagated from node to node during the analysis of the program.This(More)
One trend among programmers is the increased use of abstractions. Through encapsulation techniques, abstractions extend the repertory of data structures and their concomitant operations that are processed directly by a compiler. For example, a compiler might not offer sets or set operations in its base language, but abstractions allow a programmer to define(More)