This is an archive of the discontinued LLVM Phabricator instance.

ProvenanceAnalysis: Store WeakTrackingVH instead of Value* in UnderlyingValue Cache.
ClosedPublic

Authored by mzolotukhin on Jun 20 2018, 4:28 PM.

Details

Summary

Since the value stored in the cache might be deleted or replaced with
something else, we need to use tracking ValueHandlers instead of plain
Value pointers. It was discovered in one of internal builds, and
unfortunately there is no small reproducer for the issue.

The cache was introduced in rL327328.

Diff Detail

Event Timeline

mzolotukhin created this revision.Jun 20 2018, 4:28 PM
This revision is now accepted and ready to land.Jun 20 2018, 8:50 PM
This revision was automatically updated to reflect the committed changes.