This is an archive of the discontinued LLVM Phabricator instance.

GlobalsAA: Take advantage of ArgMemOnly, InaccessibleMemOnly and InaccessibleMemOrArgMemOnly attributes
ClosedPublic

Authored by vaivaswatha on Dec 17 2015, 1:30 AM.

Details

Summary
  1. Modify AnalyzeCallGraph() to retain function info for external functions

if the function has [InaccessibleMemOr]ArgMemOnly flags.

  1. When analyzing the use of a global is function parameter at a call site,

mark the callee also as modifying the global appropriately.

  1. Add additional test cases.

Depends on D15499

Diff Detail

Event Timeline

vaivaswatha retitled this revision from to GlobalsAA: Take advantage of ArgMemOnly, InaccessibleMemOnly and InaccessibleMemOrArgMemOnly attributes.
vaivaswatha updated this object.
vaivaswatha added reviewers: hfinkel, jmolloy.
vaivaswatha added a subscriber: llvm-commits.
jmolloy accepted this revision.Dec 18 2015, 2:47 AM
jmolloy edited edge metadata.

Hi,

This looks correct to me.

Cheers,

James

This revision is now accepted and ready to land.Dec 18 2015, 2:47 AM
vaivaswatha closed this revision.Dec 18 2015, 3:06 AM

@jmolloy Thank you for the review.