This is an archive of the discontinued LLVM Phabricator instance.

[MemorySSA] Remove PerformedPhiTranslation flag
ClosedPublic

Authored by nikic on Sep 7 2022, 1:24 AM.

Details

Summary

I believe this is no longer necessary, as the underlying problem has been fixed in a different way: Nowadays, we will adjust the location size to beforeOrAfterPointer() if the pointer is not loop invariant. This makes merging results translated across loop backedges safe.

The two tests in phi-translation.ll show an improvement while still being correct: The loads in the loop no longer alias with noalias pointers, but still alias with the store in the entry block (which they originally did not -- this is the bug that PerformedPhiTranslation originally fixed).

Diff Detail

Event Timeline

nikic created this revision.Sep 7 2022, 1:24 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 7 2022, 1:24 AM
nikic requested review of this revision.Sep 7 2022, 1:24 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 7 2022, 1:24 AM
asbirlea accepted this revision.Sep 20 2022, 9:59 AM

I believe this is correct.

This revision is now accepted and ready to land.Sep 20 2022, 9:59 AM

Conversely, please consider if this makes sense to keep for: https://reviews.llvm.org/D134161.

This revision was landed with ongoing or failed builds.Sep 21 2022, 1:32 AM
This revision was automatically updated to reflect the committed changes.