This is an archive of the discontinued LLVM Phabricator instance.

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

Authored by CarolineConcatto on Feb 27 2023, 12:35 AM.

Details

Summary

To make legalization easier, the operands and outputs have the same size for
these ISD Nodes. When legalizing the results in PromoteIntegerResult 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 27 2023, 12:35 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
CarolineConcatto requested review of this revision.Feb 27 2023, 12:35 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 27 2023, 12:35 AM
Matt added a subscriber: Matt.Feb 27 2023, 2:33 PM
paulwalker-arm added inline comments.Feb 28 2023, 5:39 AM
llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
5326–5328

Can this be simplified to:

SetPromotedInteger(SDValue(N, 0), Res.getValue(0));
SetPromotedInteger(SDValue(N, 1), Res.getValue(1));
5341–5343

As above.

  • Address review comments
CarolineConcatto marked 2 inline comments as done.Feb 28 2023, 9:59 AM
paulwalker-arm accepted this revision.Mar 1 2023, 4:18 AM
This revision is now accepted and ready to land.Mar 1 2023, 4:18 AM
This revision was landed with ongoing or failed builds.Mar 3 2023, 2:55 AM
This revision was automatically updated to reflect the committed changes.

Hi, this change caused some failures on AIX. Could you take a look please?

@Jake-Egan, the failure does not look like something this patch would cause.

Jake-Egan added a comment.EditedMar 3 2023, 12:11 PM

Hi, this change caused some failures on AIX. Could you take a look please?

@Jake-Egan, the failure does not look like something this patch would cause.

I reproduced it locally, although I will double-check

EDIT: The bot is passing now on a clean build - please disregard my above comments.