This is an archive of the discontinued LLVM Phabricator instance.

[BasicAA] Handle passthru calls in isEscapeSource()
ClosedPublic

Authored by nikic on Jun 23 2022, 7:40 AM.

Details

Summary

isEscapeSource() currently considers all call return values as escape sources. However, CaptureTracking can look through certain calls, so we shouldn't consider these as escape sources either.

The corresponding CaptureTracking code is https://github.com/llvm/llvm-project/blob/7c9a3825b8420f5d37c5bb8919a9e46684a87089/llvm/lib/Analysis/CaptureTracking.cpp#L332-L333.

Diff Detail

Event Timeline

nikic created this revision.Jun 23 2022, 7:40 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 23 2022, 7:40 AM
nikic requested review of this revision.Jun 23 2022, 7:40 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 23 2022, 7:40 AM
reames accepted this revision.Jun 23 2022, 8:33 AM

LGTM, good find.

This revision is now accepted and ready to land.Jun 23 2022, 8:33 AM
This revision was landed with ongoing or failed builds.Jun 24 2022, 2:01 AM
This revision was automatically updated to reflect the committed changes.