This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Preserve chain when lowering fixed length load to SVE (PR55281)
ClosedPublic

Authored by nikic on May 12 2022, 6:10 AM.

Details

Summary

When a fixed length load is lowered to an SVE masked load, the result chain is currently set to the input chain of the old load, rather than the result chain of the new load. This may cause stores to be incorrectly reordered.

Fixes https://github.com/llvm/llvm-project/issues/55281.

Diff Detail

Event Timeline

nikic created this revision.May 12 2022, 6:10 AM
nikic requested review of this revision.May 12 2022, 6:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 12 2022, 6:10 AM
paulwalker-arm accepted this revision.May 12 2022, 6:47 AM
This revision is now accepted and ready to land.May 12 2022, 6:47 AM
This revision was landed with ongoing or failed builds.May 12 2022, 7:04 AM
This revision was automatically updated to reflect the committed changes.

Thanks for the fix!

Don't pay much attention to the SVE VLS bot still being red, we have multiple issues going on at the same time that will mask this change for a while. I tested this locally, it fixes my reproducer and the unit tests that were failing on the bot at the time.