This is an archive of the discontinued LLVM Phabricator instance.

[SSAUpdater] Don't call ValueIsRAUWd upon single use replacement
ClosedPublic

Authored by DaniilSuchkov on Jan 21 2020, 3:01 AM.

Details

Summary

It is incorrect to call ValueHandleBase::ValueIsRAUWd when only one use is replaced since it simply violates semantics of the callback and leads to bugs like this one: https://bugs.llvm.org/show_bug.cgi?id=44320
Previously this call was used specifically to keep LICM's cache of AliasSetTrackers up to date across passes (as the bug #36801 showed, even for that purpose it didn't work properly), but since LICM doesn't have that cache anymore (as of D73084), we can safely remove this incorrect call with no repercussions.

This patch fixes https://bugs.llvm.org/show_bug.cgi?id=44320

Diff Detail

Event Timeline

DaniilSuchkov created this revision.Jan 21 2020, 3:01 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 21 2020, 3:01 AM
asbirlea accepted this revision.Jan 21 2020, 9:51 AM

LGTM.

This revision is now accepted and ready to land.Jan 21 2020, 9:51 AM
This revision was automatically updated to reflect the committed changes.