This is an archive of the discontinued LLVM Phabricator instance.

[Attributor] Use structured deduction for AANonNull
ClosedPublic

Authored by jdoerfert on Aug 12 2019, 10:43 PM.

Details

Summary

What D66126 did for AAAlign, this patch does for AANonNull. Agian, the
logic becomes more concise and localized. Again, returned poiners are
not annotated properly but that will not be an issue if this lands with
the "on-demand" generation of attributes. First improvements due to the
genericValueTraversal are already visible.

Diff Detail

Repository
rL LLVM

Event Timeline

jdoerfert created this revision.Aug 12 2019, 10:43 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 12 2019, 10:43 PM
uenoku accepted this revision.Aug 18 2019, 5:43 AM

I think we need a test for nonnull floating value (also for dereferenceable) once on-demand creation merged.
I added some comments but it seems to me that these will be resolved in D66276 :). Therefore, it looks good to me.

llvm/lib/Transforms/IPO/Attributor.cpp
1256–1260 ↗(On Diff #214763)

I think it should be in initialize.

1272 ↗(On Diff #214763)

Is optimistic correct?

This revision is now accepted and ready to land.Aug 18 2019, 5:43 AM
This revision was automatically updated to reflect the committed changes.