Implement a Loop Dependence Analysis Infrastructure

Hello LLVM Community ,

I have gone through the DependenceAnalysis.cpp and I think almost every test mentioned in Practical Dependence Testing Goff, Kennedy, Tseng PLDI 1991 is implemented except task mentioned in comment

Currently, the implementation cannot propagate constraints between coupled RDIV subscripts and lacks a multi-subscript MIV test.

Also there are some advanced test described in literature like The Power Test [WolT90] and The Omega test [PugW92] can also be implemented. Currently I am reading all these papers .
I am here confused because most of the work related to Loop Dependence Analysis have been implemented then why there is need to re-implement it ? Or the Idea page is not updated since long time.

Please share your reviews for this task.
Apart from this I would also like to have more information about

    • Design some way to represent and query dep analysis

as mentioned on Open Projects page.

Please guide !


I am Vivek Pandya , CS graduate student at BITS , Pilani India.
I would like to contribute to LLVM project with improving Dependence Analysis Infrastructure as my term project for up coming semester. I have opted Advanced Compilation technique for next semester. I will have around 4 months to implement the term project.

Vivek, much of this work was originally done by a former Kennedy graduate (I’ll let him chime in separately). Indeed, most of the tests have been implemented. However, the dependence analysis info isn’t necessarily utilized to perform additional transformations as of yet. It would be great if you could begin looking at how to apply the dependence analysis info to additional transformations.


John D. Leidel