Bringing back Andersen-like alias analysis

Hello,

I am researching a more efficient approach to subset-based alias analysis in the style of Andersen’s algorithm, and I noticed that there used to be an implementation of that for LLVM back in 2.6 (-anders-aa) which was removed because it was “not being actively maintained and had substantial problems”. I’d be interested in knowing what was wrong with it (other than Andersen’s algorithm being O(n^3)) so that I can avoid the same mistakes. Does anyone recall what the issues were?

Thanks.

Hi Tristan,

I am researching a more efficient approach to subset-based alias analysis in the
style of Andersen's algorithm, and I noticed that there used to be an
implementation of that for LLVM back in 2.6 (-anders-aa) which was removed
because it was "not being actively maintained and had substantial problems". I'd
be interested in knowing what was wrong with it (other than Andersen's algorithm
being O(n^3)) so that I can avoid the same mistakes. Does anyone recall what the
issues were?

it looks like the LLVMSlicer project may have resurrected Andersen's, or written
their own version: https://github.com/jirislaby/LLVMSlicer

It's a bit hard to tell because there doesn't seem to be any documentation
(hopefully good documentation will be added soon, since it won't be accepted
into the main LLVM project without it).

Ciao, Duncan.

The major problems were that it was unmaintained and had a large number of bugs. People kept trying to use it and were disappointed that it didn't work. You can search bugzilla for closed bugs to see the ones that were open when andersens was removed.

-Chris