Page MenuHomePhabricator

GlobalISel: Implement lower for G_SHUFFLE_VECTOR

Authored by arsenm on Aug 12 2019, 2:55 PM.

Diff Detail

Event Timeline

arsenm created this revision.Aug 12 2019, 2:55 PM

LGTM - conditional to the parent patch.


Would it be possible to buildInstr in a way that it can be CSE'd (collect the regs in a SmallVector and build in the end)?
While I think the chances of CSEing a G_BUILD_VECTOR is quite low, it probably doesn't hurt to enable it.

This revision is now accepted and ready to land.Aug 12 2019, 4:02 PM
arsenm marked an inline comment as done.Aug 12 2019, 4:18 PM
arsenm added inline comments.

It's possible, but I find the intermediate vectors for these sorts of things kind of annoying to use and it seemed more straightforward to add operands directly


Even if it's annoying, I'd prefer we try to build instructions in a way that's CSEable and in parallel maybe look at ways to make this less annoying.
Personally I like the intermediate vector + buildVector at once vs buildInstrNoInsert + insertInstr (maybe because I'm used to it).

arsenm updated this revision to Diff 214740.Aug 12 2019, 4:35 PM

Use buildBiuildVector

arsenm closed this revision.Aug 13 2019, 9:08 AM