This is an archive of the discontinued LLVM Phabricator instance.

[AA] Skip the layer of indirection in returning conservative results.
ClosedPublic

Authored by davidtgoldblatt on Apr 24 2023, 2:23 PM.

Details

Summary

Historically, AA implementations chained to a following implementation
to answer recursive queries. This is no longer the case, but the legacy
lives on in a confusing phrasing of the return-a-conservative-value
paths. Let's just return "don't know" directly, where appropriate; the
current two-step way is confusing.

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald TranscriptApr 24 2023, 2:23 PM
davidtgoldblatt requested review of this revision.Apr 24 2023, 2:23 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 24 2023, 2:23 PM

I *didn't* change ObjCARCAliasAnalysis, but left a TODO. I don't have any good way to evaluate a "real" fix (i.e. doing the recursive queries in the modern way), and having the intent only documented in years-old revision history feels hard to spot. Not really a strong opinion though, happy to do something more intrusive there.

nikic accepted this revision.Apr 24 2023, 2:35 PM

LGTM

This revision is now accepted and ready to land.Apr 24 2023, 2:35 PM
wenlei added a subscriber: wenlei.Apr 27 2023, 8:20 AM

Sorry for leaving this open for so long; various distractions kept popping up -- I'll wait a day to give a last chance for any objections and land tomorrow.