This is an archive of the discontinued LLVM Phabricator instance.

[SLP]Include cost of the reshuffling for same nodes with resizing.
ClosedPublic

Authored by ABataev on May 5 2023, 8:27 AM.

Details

Summary

Need to account reshuffling, required for the reused elements in the
buildvector nodes, which are copies (perfect match) of other nodes, but
include reused elements.

Diff Detail

Event Timeline

ABataev created this revision.May 5 2023, 8:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 5 2023, 8:27 AM
ABataev requested review of this revision.May 5 2023, 8:27 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 5 2023, 8:27 AM
ABataev updated this revision to Diff 538277.Jul 7 2023, 2:54 PM

Rebase, ping!

RKSimon added inline comments.Jul 9 2023, 5:09 AM
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
7018

CommonMask?

ABataev updated this revision to Diff 538619.Jul 10 2023, 6:44 AM

Address comment

ABataev updated this revision to Diff 538677.Jul 10 2023, 9:02 AM

Use getCommonMask() instead of just ReuseShuffleIndices

ABataev updated this revision to Diff 540987.Jul 17 2023, 6:17 AM

Rebase, ping!

RKSimon accepted this revision.Jul 18 2023, 5:12 AM

LGTM

This revision is now accepted and ready to land.Jul 18 2023, 5:12 AM