[PATCH] D93860: [SLP] delete unused pairwise reduction option

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 28 08:12:17 PST 2020


spatel created this revision.
spatel added reviewers: ABataev, RKSimon, craig.topper, anton-afanasyev, vdmitrie, dtemirbulatov.
Herald added subscribers: pengfei, hiraditya, mcrosier.
spatel requested review of this revision.
Herald added a project: LLVM.

SLP tries to model 2 forms of vector reductions: pairwise and splitting. From the cost model code comments, those are defined using an example as:

  /// Pairwise:
  ///  (v0, v1, v2, v3)
  ///  ((v0+v1), (v2+v3), undef, undef)
  /// Split:
  ///  (v0, v1, v2, v3)
  ///  ((v0+v2), (v1+v3), undef, undef)

I don't know the full history of this functionality, but it was partly added back in D29402 <https://reviews.llvm.org/D29402>. There are apparently no users at this point (no regression tests change). X86 might have managed to work-around the need for this through cost model and codegen improvements.

Removing this code makes it easier to continue the work that was started in D87416 <https://reviews.llvm.org/D87416> / D88193 <https://reviews.llvm.org/D88193>. The alternative -- if there is some target that is silently using this option -- is to move this logic into LoopUtils. We have related/duplicate functionality there via llvm::createTargetReduction().


https://reviews.llvm.org/D93860

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93860.313856.patch
Type: text/x-patch
Size: 5945 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201228/68d9228e/attachment.bin>


More information about the llvm-commits mailing list