This is an archive of the discontinued LLVM Phabricator instance.

[SLP] Fix for PR32164: Improve vectorization of reverse order of extract operations.
ClosedPublic

Authored by ABataev on Jun 6 2017, 1:42 PM.

Details

Summary

Sometimes vectorization of insertelement instructions with extractelement operands may produce an extra shuffle operation, if these operands are in the reverse order. Patch tries to improve this situation by the reordering of the operands to remove this extra shuffle operation.

Diff Detail

Event Timeline

ABataev created this revision.Jun 6 2017, 1:42 PM
ABataev edited the summary of this revision. (Show Details)Jun 6 2017, 1:43 PM
ABataev removed subscribers: aemerson, rovka, igorb, kristof.beyls.
ABataev retitled this revision from [ARM] GlobalISel: Constrain callee register on indirect calls to [SLP] Fix for PR32164: Improve vectorization of reverse order of extract operations..Jun 6 2017, 2:01 PM
ABataev edited the summary of this revision. (Show Details)
ABataev updated this revision to Diff 101725.Jun 7 2017, 6:38 AM

Improved reordering criteria.

Please can you rebase this - it doesn't match what I see in trunk

RKSimon accepted this revision.Jan 16 2018, 9:34 AM

LGTM - thanks

This revision is now accepted and ready to land.Jan 16 2018, 9:34 AM
This revision was automatically updated to reflect the committed changes.