This is an archive of the discontinued LLVM Phabricator instance.

[GlobalISel][X86] Support vector type G_UNMERGE_VALUES selection.
ClosedPublic

Authored by igorb on May 29 2017, 10:53 PM.

Details

Summary

Support vector type G_UNMERGE_VALUES selection.
For now G_UNMERGE_VALUES marked as legal for any type, so nothing to do in legalizer.

Diff Detail

Repository
rL LLVM

Event Timeline

igorb created this revision.May 29 2017, 10:53 PM
qcolombet requested changes to this revision.Jun 5 2017, 11:26 AM

Hi Igor,

It seems to me that the patch could be split into finer grain patches.

  • API change (getRegClassForTypeOnBank to getRegClass)
  • One change for each different select (unmerge, merge, copy, etc.)
  • Legality setting

Please use the .mir framework to test separately each new thing (like one test for the legality change, one for the select part). Of course bitcode to asm are still useful as integration tests and should be kept.

Cheers,
-Quentin

This revision now requires changes to proceed.Jun 5 2017, 11:26 AM
igorb updated this revision to Diff 101621.Jun 6 2017, 2:18 PM
igorb edited edge metadata.
igorb retitled this revision from [GlobalISel][X86] support G_MERGE_VALUES/G_UNMERGE_VALUES selection. to [GlobalISel][X86] Support vector type G_UNMERGE_VALUES selection..
igorb edited the summary of this revision. (Show Details)
igorb updated this revision to Diff 105019.Jul 2 2017, 1:04 AM
  • reabse
  • Thanks for the review!
This revision was automatically updated to reflect the committed changes.