This is an archive of the discontinued LLVM Phabricator instance.

[LangRef] Reflect the changes in the TBAA info format
AcceptedPublic

Authored by kosarev on Dec 7 2017, 11:25 AM.

Details

Reviewers
hfinkel
rjmccall

Diff Detail

Event Timeline

kosarev created this revision.Dec 7 2017, 11:25 AM
asl added a subscriber: asl.Dec 7 2017, 2:06 PM
hfinkel edited edge metadata.Dec 11 2017, 5:46 AM

I think that we're on the same page. I'll also start reviewing the other patches.

docs/LangRef.rst
4596

Types with different roots have an unknown aliasing relationship, and LLVM conservatively infers `MayAlias` between them. -> TBAA metadata provides no aliasing information about types with different roots.

4605

identifier nodes -> metadata strings

4638

You've not defined direct or indirect field anywhere. Please do.

4689–4690

Please also add a union to this example.

kosarev updated this revision to Diff 126517.Dec 12 2017, 3:15 AM

Updated as suggested.

hfinkel accepted this revision.Dec 14 2017, 3:18 PM

This is good. Don't commit it, however, until it's meaningful (i.e., once the corresponding implementation lands).

docs/LangRef.rst
4635

the base -> The base

4638

the base -> The base

4683

I thought that, in the new format, we were going to support unions by allowing multiple fields at the same offset. Are you planning to just do that as a follow-up set of patches?

This revision is now accepted and ready to land.Dec 14 2017, 3:18 PM
kosarev added inline comments.Dec 19 2017, 6:38 AM
docs/LangRef.rst
4633

It seems I forgot the case when one type encloses the other. Will fix on publishing the patch for the analysis machinery.

4683

Yes, it would help if we can address unions with a separate patch set.

This looks like a nice change.

docs/LangRef.rst
4680

Potentially confusing typo here. AccessType should be Float.

4705

The descriptor for U should be added here as well.

4744

The descriptor for U should probably be added here also.

rehana added a subscriber: rehana.Feb 1 2018, 10:29 AM
rehana added inline comments.
docs/LangRef.rst
4624–4626

It's not very clear. Adding an array in the example would be helpful.