This is an archive of the discontinued LLVM Phabricator instance.

[X86][SSE] Avoid calls to combineX86ShufflesRecursively that can't combine to target shuffles (PR32037)
ClosedPublic

Authored by RKSimon on Jan 22 2018, 8:20 AM.

Details

Summary

Don't bother making recursive calls to combineX86ShufflesRecursively if we have more shuffle source operands than will be combined together with the remaining recursive depth.

See https://bugs.llvm.org/show_bug.cgi?id=32037#c26 and https://bugs.llvm.org/show_bug.cgi?id=32037#c27 for the reduction in compile times from this patch.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Jan 22 2018, 8:20 AM
spatel accepted this revision.Jan 23 2018, 3:08 PM

LGTM - see inline comment for a nit.

lib/Target/X86/X86ISelLowering.cpp
29403 ↗(On Diff #130901)

Change Depth and MaxRecursionDepth to unsigned instead?

This revision is now accepted and ready to land.Jan 23 2018, 3:08 PM
This revision was automatically updated to reflect the committed changes.