This is an archive of the discontinued LLVM Phabricator instance.

[DAGCombine] insert_subvector undef, (splat X), N2 -> splat X
ClosedPublic

Authored by paulwalker-arm on Feb 22 2022, 7:23 AM.

Diff Detail

Unit TestsFailed

Event Timeline

paulwalker-arm created this revision.Feb 22 2022, 7:23 AM
paulwalker-arm requested review of this revision.Feb 22 2022, 7:23 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 22 2022, 7:23 AM

Moved SPLAT_VECTOR changes into their own patch.

cameron.mcinally accepted this revision.Feb 25 2022, 2:14 PM
cameron.mcinally added a subscriber: cameron.mcinally.

LGTM. Thanks, Paul.

This revision is now accepted and ready to land.Feb 25 2022, 2:14 PM
cameron.mcinally requested changes to this revision.Mar 15 2022, 9:09 AM

Just spoke with Paul about this issue. We decided that defining the undef elements may be too aggressive. Updated patch to come...

This revision now requires changes to proceed.Mar 15 2022, 9:09 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 15 2022, 9:09 AM

Rebase plus minor change to increase test coverage.

Hi @cameron.mcinally, I've finally had chance to circle back to this (no April fools joke I promise :) ) and looking at DAGCombiner::visitINSERT_SUBVECTOR I can see several instances where it throws away undef information, not least the first two combines before my new one. So my feeling is there's no expectation to preserve it for our use case either.

cameron.mcinally accepted this revision.Apr 5 2022, 9:05 AM

Ah, great. Thanks for working on this.

LGTM

This revision is now accepted and ready to land.Apr 5 2022, 9:05 AM
This revision was landed with ongoing or failed builds.Apr 6 2022, 9:26 AM
This revision was automatically updated to reflect the committed changes.