This is an archive of the discontinued LLVM Phabricator instance.

[CaptureTracker] Let subclasses provide dereferenceability information
ClosedPublic

Authored by jdoerfert on Aug 16 2019, 4:30 PM.

Details

Summary

CaptureTracker subclasses might have better dereferenceability
information which allows null pointer checks to be no-capturing.
The first user will be D59922.

Diff Detail

Repository
rL LLVM

Event Timeline

jdoerfert created this revision.Aug 16 2019, 4:30 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 16 2019, 4:30 PM
aykevl accepted this revision.Aug 17 2019, 10:33 AM

LGTM from my perspective but I'm not a C++ person so can't comment on style etc.

Off-topic: really happy to see your work on the Attributor. The nocapture flag is very important to avoid heap allocations in the compiler I'm working on.

llvm/lib/Analysis/CaptureTracking.cpp
39 ↗(On Diff #215711)

Nit: I just notice that there is a typo in this sentence: "So for an inbounds GEPs...". It should be "So for an inbounds GEP..." (singular) or "So for inbounds GEPs..." (plural). But this was also in the original comment that I wrote so it's not really important.

This revision is now accepted and ready to land.Aug 17 2019, 10:33 AM
This revision was automatically updated to reflect the committed changes.