diff options
author | Amara Emerson <amara.emerson@arm.com> | 2017-05-09 10:43:25 +0000 |
---|---|---|
committer | Amara Emerson <amara.emerson@arm.com> | 2017-05-09 10:43:25 +0000 |
commit | cf9daa33a7870c235e0edc176dd40579f376cafc (patch) | |
tree | 4df699a6f02c81cbbc2c7c4639c299a0dea5632c /llvm/lib/Analysis/VectorUtils.cpp | |
parent | b7bf386e8098aed73f0b9b2df40067afc07dffab (diff) | |
download | bcm5719-llvm-cf9daa33a7870c235e0edc176dd40579f376cafc.tar.gz bcm5719-llvm-cf9daa33a7870c235e0edc176dd40579f376cafc.zip |
Introduce experimental generic intrinsics for horizontal vector reductions.
- This change allows targets to opt-in to using them instead of the log2
shufflevector algorithm.
- The SLP and Loop vectorizers have the common code to do shuffle reductions
factored out into LoopUtils, and now have a unified interface for generating
reductions regardless of the preference of the target. LoopUtils now uses TTI
to determine what kind of reductions the target wants to handle.
- For CodeGen, basic legalization support is added.
Differential Revision: https://reviews.llvm.org/D30086
llvm-svn: 302514
Diffstat (limited to 'llvm/lib/Analysis/VectorUtils.cpp')
-rw-r--r-- | llvm/lib/Analysis/VectorUtils.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/VectorUtils.cpp b/llvm/lib/Analysis/VectorUtils.cpp index 722f17a8067..2d2249da4e1 100644 --- a/llvm/lib/Analysis/VectorUtils.cpp +++ b/llvm/lib/Analysis/VectorUtils.cpp @@ -23,6 +23,7 @@ #include "llvm/IR/PatternMatch.h" #include "llvm/IR/Value.h" #include "llvm/IR/Constants.h" +#include "llvm/IR/IRBuilder.h" using namespace llvm; using namespace llvm::PatternMatch; |