Alias Analysis (Andersen pointer analysis)

Dear All,

I am curious to know the reason for removal of andersen pointer analysis. Is it because of some issues? We need it on llvm-2.9, if possible.

Do we have some better version of pointer analysis on llvm-2.9?

Thanks,
Manish

Hi Manish,

I am curious to know the reason for removal of andersen pointer analysis. Is it
because of some issues? We need it on llvm-2.9, if possible.

I think it was removed because it didn't work properly and no-one was trying to
improve it. There was an explanation in the release notes IIRC.

Ciao, Duncan.

The Data Structure Analysis pass (DSA) is a unification-style points-to analysis. It should work with LLVM mainline and the upcoming 3.0 release. An older version works with LLVM 2.7.

DSA is located in the poolalloc project (). – John T.

Thanks Everyone for the info.

I am planning to work with DSA on llvm-2.9. Hope it is working as John mentioned.

Manish

The README at the location shared by John says

“DSA is undergoing significant changes and may not be entirely stable or correct. See lib/DSA/README”

So, I was wondering from where should one pick the code. Although I will start my analysis and see how results turn out to be. But any comments on this line will be helpful.

Thanks
Manish

The default answer is almost always "top-of-tree". The release branches become out-of-date rather quickly. Also, we're coming up on our 3.0 release.

-bw

The README at the location shared by John says

“DSA is undergoing significant changes and may not be entirely stable or correct. See lib/DSA/README”

So, I was wondering from where should one pick the code. Although I will start my analysis and see how results turn out to be. But any comments on this line will be helpful.

I believe that mainline (Top of Tree) DSA should be working relatively well with LLVM mainline. We’ve updated the code to the LLVM mainline API (which mainly involved some changes to which methods we use on CallInst’s), and I think it’s passing the tests that it has.

That said, DSA is not as widely tested and used as LLVM. If you find a bug, please report it. We want to fix it.

As an FYI, the release_27 branch of poolalloc (the project in which DSA lives) compiles and works with LLVM 2.7. That was the last stable version before we begin migrating to LLVM mainline for the LLVM 3.0 release.

– John T.