This is an archive of the discontinued LLVM Phabricator instance.

LegalizeDAG: Implement promote for build_vector
ClosedPublic

Authored by arsenm on Oct 13 2015, 3:44 PM.

Details

Reviewers
qcolombet
Summary

This will be used in future commits for AMDGPU to promote
operations on i64 vectors into operations on 32-bit vector
components.

Diff Detail

Event Timeline

arsenm updated this revision to Diff 37294.Oct 13 2015, 3:44 PM
arsenm retitled this revision from to LegalizeDAG: Implement promote for build_vector.
arsenm updated this object.
arsenm added a subscriber: llvm-commits.

Hi Matt,

That does not seem generally profitable and make the representation more complicate in my opinion.
That being said, I do not see tests changes here. Does this mean the change is neutral for the in tree targets or that the tests are not covering this code?

Thanks,
-Quentin

Hi Matt,

That does not seem generally profitable and make the representation more complicate in my opinion.
That being said, I do not see tests changes here. Does this mean the change is neutral for the in tree targets or that the tests are not covering this code?

Thanks,
-Quentin

This isn't an optimization, and no in tree target is attempting to use Promote for build_vector currently. AMDGPU already has tests that cover this which will use this in a future commit when I add v2i64 and v2f64 as legal types.

This isn't an optimization, and no in tree target is attempting to use Promote for build_vector currently.

Thanks for the clarifications. I was wondering if that new format makes sense as the canonical representation of that promotion. Now, when checking what we do for shuffles, it seems consistent so I guess this is fine.

LGTM.

Cheers,
-Quentin

qcolombet accepted this revision.Oct 13 2015, 4:24 PM
qcolombet added a reviewer: qcolombet.
This revision is now accepted and ready to land.Oct 13 2015, 4:24 PM
arsenm closed this revision.Oct 21 2015, 2:12 PM

r250945