Dependence Analysis [was: Flow-Sensitive AA]

One nit-pick, I see that some of the interfaces use tons of parameter,
which is something I'd like reduce for ease of use.

Right. It was my concern as well, but I eventually decided to write it
this way. Feel free to change it.

As we are speaking about modifying the lib, here are two things I would like to modify/add in it:
- Replacing depedency expressions from direction vector to a polyhedral representation. The representation can then be easily converted to DV for those who only care about them.
- Supporting delinearisation.

One nit-pick, I see that some of the interfaces use tons of parameter,
which is something I'd like reduce for ease of use.

Right. It was my concern as well, but I eventually decided to write it
this way. Feel free to change it.

As we are speaking about modifying the lib, here are two things I would like to modify/add in it:
- Replacing depedency expressions from direction vector to a polyhedral representation. The representation can then be easily converted to DV for those who only care about them.

Polyhedral representations are powerful but somewhat expensive to construct and simple dependence tests don't construct them. Forcing all dependence test results to go through them would be overkill. Also, many loop transforms, e.g., loop interchange, don't need the polyhedral info, just direction vectors. You could instead provide both direction vectors and polyhedral info through the interface, with some way to check if either is available.

- Supporting delinearisation.

I think this should be a separate pass.

--Vikram

--Vikram
Associate Professor, Computer Science
University of Illinois at Urbana-Champaign
http://llvm.org/~vadve