Next: Future work
Up: Milestone - 4/14/03
Previous: Challenges and Changes to
We have implemented the following analysis required for performing
the program transformation:
- Partial Availability of Expressions: This is a dataflow pass
that computes the partially available expressions at the
entry/exit of basic blocks.
- Full Availability of Expressions: This is a dataflow pass
that computes the fully available expressions at the entry/exit of
basic blocks.
- Path Detection: This pass generates a predicate for each partially
available expression at every program point. The predicate
specifies the dynamic path the program execution should have
taken, if the expression is to be available at the specified program
point. The pass works only for acyclic graphs.
- Loops: Inside a loop, we are duplicating every node where an
expression is partially available and not anticipated. This is a
simple pass that does not use the dynamic path information, but uses
the results of the partial and full availability passes.
Girish Venkataramani
2003-04-14