New algorithms that efficiently compute static single assignment form and control dependence graph data structures for arbitrary control flow graphs are presented and it is given that all of these data structures are usually linear in the size of the original program.Expand

An algorithm for detecting when two computations produce equivalent values by developing a static property called congruence, which is conservative in that any variables detected to be e:quivalent will in fact be equivalent, but not all equivalences are detected.Expand

This paper presents strong evidence that static single assignment form and the control dependence graph can be of practical use in optimization, and presents a new algorithm that efficiently computes these data structures for arbitrary control flow graph.Expand

This work proposes a redundancy elimination algorithm that is global (in that it deals with the entire program), yet able to recognize redundancy among expressions that are lexitally different, and takes advantage of second order effects.Expand

A unification algorithm is described which tests a set of expressions for unifiability and which requires time and space which are only linear in the size of the input.

The analysis presented obtains useful information about linked data structures and a simple extension obtains aliasing information for entire data structures that previously was obtained only through declarations.Expand

The question of how much space is needed to represent a set is considered, given a finite universe U and some subset V and a procedure that for each element s in U determines if s is in V.Expand