This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Implement isElementTypeLegalForScalableVector TTI hook
ClosedPublic

Authored by reames on Jun 10 2022, 11:14 AM.

Details

Summary

This brings us into alignment with AArch64, and in the process fixes a compile crash bug in uniform store handling in the vectorizer.

Before the recent invalid cost bailout work, this would have also avoided crashes on invalid costs in some cases. I honestly thing the vectorizer should gracefully bailout on uniform stores it can't use a scatter for, but it doesn't, so lets take the path of least resistance here. It's also possible that there are other vectorizer bugs AArch64 isn't seeing because of this hook; we don't want to be finding them either.

Diff Detail

Event Timeline

reames created this revision.Jun 10 2022, 11:14 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 10 2022, 11:14 AM
reames requested review of this revision.Jun 10 2022, 11:14 AM
This revision is now accepted and ready to land.Jun 10 2022, 12:50 PM
This revision was landed with ongoing or failed builds.Jun 10 2022, 1:21 PM
This revision was automatically updated to reflect the committed changes.