[PATCH] D27846: [SLP] Support for horizontal min/max reduction
Alexey Bataev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 16 05:47:19 PST 2016
ABataev created this revision.
ABataev added reviewers: RKSimon, spatel, mkuper, mzolotukhin, hfinkel.
ABataev added a subscriber: llvm-commits.
SLP vectorizer supports horizontal reductions for Add/FAdd binary operations. Patch adds support for horizontal min/max reductions.
Function getReductionCost() is split to getArithmeticReductionCost() for binary operation reductions and getMinMaxReductionCost() for min/max reductions.
Patch fixes PR26956.
https://reviews.llvm.org/D27846
Files:
include/llvm/Analysis/TargetTransformInfo.h
include/llvm/Analysis/TargetTransformInfoImpl.h
include/llvm/CodeGen/BasicTTIImpl.h
include/llvm/Transforms/Vectorize/SLPVectorizer.h
lib/Analysis/CostModel.cpp
lib/Analysis/TargetTransformInfo.cpp
lib/Target/X86/X86TargetTransformInfo.cpp
lib/Target/X86/X86TargetTransformInfo.h
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/horizontal-list.ll
test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27846.81744.patch
Type: text/x-patch
Size: 198555 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161216/63178581/attachment-0001.bin>
More information about the llvm-commits
mailing list