This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Fix incorrect codegen introduced by D119688.
ClosedPublic

Authored by khchen on Mar 3 2022, 7:57 PM.

Details

Summary

We should not emit a tail agnostic vlse for a tail undisturbed vmv.s.x

In D119688:

-    if (IsScalarMove && !Node->getOperand(0).isUndef())
+    bool HasPassthruOperand = Node->getOpcode() != ISD::SPLAT_VECTOR;
+    if (HasPassthruOperand && !IsScalarMove && !Node->getOperand(0).isUndef())
       break;

The IsScalarMove check in the if statement had been changed.

Diff Detail

Event Timeline

khchen created this revision.Mar 3 2022, 7:57 PM
khchen requested review of this revision.Mar 3 2022, 7:57 PM
khchen edited the summary of this revision. (Show Details)Mar 4 2022, 4:33 AM
This revision is now accepted and ready to land.Mar 4 2022, 9:14 AM
This revision was landed with ongoing or failed builds.Mar 5 2022, 6:32 AM
This revision was automatically updated to reflect the committed changes.