This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Use the new chain when converting a fixed RVV load
ClosedPublic

Authored by rogfer01 on May 13 2022, 9:15 AM.

Details

Summary

When building the final merged node, we were using the original chain rather than the output chain of the new operation. After some collapsing of the chain this could cause the loads be incorrectly scheduled respect to later stores.

This was uncovered by SingleSource/Regression/C/gcc-c-torture/execute/pr36038.c of the llvm testsuite.

Diff Detail

Event Timeline

rogfer01 created this revision.May 13 2022, 9:15 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 13 2022, 9:15 AM
rogfer01 requested review of this revision.May 13 2022, 9:15 AM
rogfer01 set the repository for this revision to rG LLVM Github Monorepo.
craig.topper accepted this revision.May 13 2022, 9:32 AM

Well that's embarassing.

LGTM

This revision is now accepted and ready to land.May 13 2022, 9:32 AM

Accidents happen.. Thanks for the prompt review @craig.topper.

rogfer01 closed this revision.May 13 2022, 3:23 PM

I added the link but I forgot the Differential Revision: marker. This was fixed in 189ca6958e84