This is an archive of the discontinued LLVM Phabricator instance.

[SCEV] Remove invalid SCEVUnknowns from value map
AbandonedPublic

Authored by nikic on Oct 30 2021, 11:40 AM.

Details

Reviewers
reames
mkazantsev
Summary

When invalidating a SCEVUnknown via CallbackVH, also drop all references to the SCEVUnknown or SCEV expressions using it from the ValueToExpr map. This means we no longer need to check for validity in getExistingSCEV().

Diff Detail

Event Timeline

nikic created this revision.Oct 30 2021, 11:40 AM
nikic requested review of this revision.Oct 30 2021, 11:40 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 30 2021, 11:40 AM
nikic planned changes to this revision.Oct 30 2021, 12:39 PM

I have a suspicion that ValueExprMap and ExprValueMap may not always be sync, need to double check that first.

nikic abandoned this revision.Nov 14 2021, 2:50 PM

This has been mostly replaced by D113349. The remaining change is to drop the checkValidity() call, but that's NFC after that patch.