Extend program model by allowing general predicates on the recursive calls.

This is an approach that needs to be taken, since we realistically need to deal with programs where certain information is only know at run-time. Certain more coarse grained parallelisation techniques, (e.g. function call parallelism, see [GHZ98]) do not need full dataflow information, however, so some dependency analysis can still be done.

The current approach is closer to the way that recursive structures in C are handled normally. The description allows the structure to be thought of as infinite, but an actual structure is bounded by NULL pointers. This allows structures of irregular shape and dynamically growing and shrinking structures to be included.



Timothy Lewis
1998-09-18