This is an archive of the discontinued LLVM Phabricator instance.

[IR][Legalization] Split illegal deinterleave and interleave vectors
ClosedPublic

Authored by CarolineConcatto on Feb 24 2023, 9:20 AM.

Details

Summary

To make legalization easier, the operands and outputs have the same size for
these ISD Nodes. When legalizing the results in SplitVectorResult the operands
are legalized to the same size as the outputs.
The ISD Node has two output/results, therefore the legalizing functions update
both results/outputs.

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald TranscriptFeb 24 2023, 9:20 AM
CarolineConcatto requested review of this revision.Feb 24 2023, 9:20 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 24 2023, 9:20 AM
This revision is now accepted and ready to land.Feb 25 2023, 7:11 PM
Matt added a subscriber: Matt.Feb 27 2023, 2:33 PM
paulwalker-arm added inline comments.Feb 28 2023, 5:47 AM
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
2791–2795

I've no objection to you landing this patch as is but would it be simpler to handle all results within this function rather than setting Lo and Hi? Much like you have done for D144846.

  • Address review comments
This revision was landed with ongoing or failed builds.Mar 1 2023, 12:31 AM
This revision was automatically updated to reflect the committed changes.