This is an archive of the discontinued LLVM Phabricator instance.

Invariant.group and mustalias docs fixes
ClosedPublic

Authored by Prazek on Apr 6 2017, 6:31 AM.

Details

Summary

Alias analysis would like to know that
invariant.group.barrier returns pointer that mustalias,
but this can't imply that we can replace one pointer with another

Diff Detail

Repository
rL LLVM

Event Timeline

Prazek created this revision.Apr 6 2017, 6:31 AM

ping
Adding Phillip because he might be interested in the topic

sanjoy requested changes to this revision.Apr 10 2017, 12:36 PM

Minor comments inline.

docs/AliasAnalysis.rst
139 ↗(On Diff #94361)

A better wording would be "A `MustAlias` response does not imply that the pointers compare equal."

docs/LangRef.rst
5121 ↗(On Diff #94361)

This is minor, but I'd s/Because/Since/

Even better, I'd put the (IMO more important) warning before its justification:

The invariant.group metadata must be dropped when replacing one pointer by another based on aliasing information. This is because invariant.group is tied to the SSA value of the pointer operand.

5129 ↗(On Diff #94361)

Not sure what this line adds -- can you give an example here as well?

This revision now requires changes to proceed.Apr 10 2017, 12:36 PM
Prazek marked 2 inline comments as done.Apr 11 2017, 2:16 AM

Thanks Sanjoy!

docs/LangRef.rst
5129 ↗(On Diff #94361)

I guess I will just delete that because it doesn't add any new info

Prazek updated this revision to Diff 94798.Apr 11 2017, 2:17 AM
Prazek edited edge metadata.

Sanjoy comments

Prazek marked 2 inline comments as done.Apr 11 2017, 2:18 AM
sanjoy accepted this revision.Apr 11 2017, 4:58 PM

lgtm!

This revision is now accepted and ready to land.Apr 11 2017, 4:58 PM
This revision was automatically updated to reflect the committed changes.