This is an archive of the discontinued LLVM Phabricator instance.

[CFLAA] Add support for getModRefInfo() in CFL-AA
ClosedPublic

Authored by grievejia on Jun 29 2016, 1:02 PM.

Details

Summary

Previously, CFL-AA always says "ModRef" to any getModRefInfo() queries. This patch makes CFL-AA returns slightly better answers.

The precision increase is less than I originally expected. The biggest problem here is that we don't distinguish reads from writes in our analysis (it's also useless to make the distinction, since the value we read from and the value we write to are very likely to be merged together anyway, if there's a direct/indirect assignment). Therefore, all I can do here is to return NoModRef in certain special cases, and try to be conservative otherwise.

Diff Detail

Repository
rL LLVM

Event Timeline

grievejia updated this revision to Diff 62270.Jun 29 2016, 1:02 PM
grievejia retitled this revision from to [CFLAA] Add support for getModRefInfo() in CFL-AA.
grievejia updated this object.
grievejia added a subscriber: llvm-commits.
george.burgess.iv edited edge metadata.

LGTM -- thanks for the patch!

This revision is now accepted and ready to land.Jun 29 2016, 7:12 PM
This revision was automatically updated to reflect the committed changes.