#### Filter Results:

#### Publication Year

1984

1996

#### Co-author

#### Key Phrase

#### Publication Venue

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)

Constant propagation is a well-known global flow analysis problem. The goal of constant propagation is to discover values that are constant on all possible executions of a program and to propagate these constant values as far foward through the program as possible. Expressions whose operands are all constants can be evaluated at compile time and the results… (More)

Historically our paper was important because it demonstrated that it was possible to get useful information about linked data structures in a practical amount of time. At the time of publication , there was some interest in pointer analysis from the theoretical community, but these algorithms were generally impractical. Our paper presented a technique that… (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)

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)