This is an archive of the discontinued LLVM Phabricator instance.

[EarlyCSE] Explicitly require AAResultsWrapperPass.
ClosedPublic

Authored by fhahn on Sep 4 2020, 4:59 AM.

Details

Summary

The MemorySSAWrapperPass depends on AAResultsWrapperPass and if
MemorySSA is preserved but AAResultsWrapperPass is not, this could lead
to a crash when updating the last user of the MemorySSAWrapperPass.

Alternatively AAResultsWrapperPass could be marked preserved by GVN, but
I am not sure if that would be safe. I am not sure what is required in
order to preserve AAResultsWrapperPass. At the moment, it seems like a
couple of passes that do similar transforms to GVN are preserving it.

Diff Detail

Event Timeline

fhahn created this revision.Sep 4 2020, 4:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 4 2020, 4:59 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
fhahn requested review of this revision.Sep 4 2020, 4:59 AM
uabelho added a subscriber: uabelho.Sep 4 2020, 5:09 AM
asbirlea accepted this revision.Sep 8 2020, 5:08 PM
This revision is now accepted and ready to land.Sep 8 2020, 5:08 PM
This revision was automatically updated to reflect the committed changes.