This is an archive of the discontinued LLVM Phabricator instance.

[SLPVectorizer] Tidyup isShuffle helper
ClosedPublic

Authored by RKSimon on Jun 11 2018, 6:39 AM.

Details

Summary

Ensure we keep track of the input vectors in all cases instead of just for SK_Alternate (this will be more useful once D47985 has landed).

Ideally we'd reuse the shuffle mask pattern matching in TargetTransformInfo::getInstructionThroughput here to easily add support for all TargetTransformInfo::ShuffleKind without mass code duplication, I've added a TODO for now.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Jun 11 2018, 6:39 AM
RKSimon updated this revision to Diff 151326.Jun 14 2018, 3:58 AM

Simplified SK_Select pattern matching

@spatel Should this wait for D48236 or can I commit it now?

spatel accepted this revision.Jun 18 2018, 8:10 AM

@spatel Should this wait for D48236 or can I commit it now?

IIUC both are NFC and independent, so it's just a matter of preference in which order we want to handle the cleanup?

LGTM if you want to commit this 1st.

This revision is now accepted and ready to land.Jun 18 2018, 8:10 AM
This revision was automatically updated to reflect the committed changes.