Reland "Relax constraints for reduction vectorization"
authorSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 12 Mar 2019 01:31:44 +0000 (01:31 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 12 Mar 2019 01:31:44 +0000 (01:31 +0000)
commit3f5ce18658f0b6cc01853a02aede777d190ee52d
tree8585f01ca8bba472cf5b3bee143b3d87a74fc557
parent3751ae4a94379d572cc722ee0beac8019241f5d4
Reland "Relax constraints for reduction vectorization"

Change from original commit: move test (that uses an X86 triple) into the X86
subdirectory.

Original description:
Gating vectorizing reductions on *all* fastmath flags seems unnecessary;
`reassoc` should be sufficient.

Reviewers: tvvikram, mkuper, kristof.beyls, sdesmalen, Ayal

Reviewed By: sdesmalen

Subscribers: dcaballe, huntergr, jmolloy, mcrosier, jlebar, bixia, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57728

llvm-svn: 355889
llvm/include/llvm/Analysis/IVDescriptors.h
llvm/include/llvm/IR/Operator.h
llvm/include/llvm/Transforms/Utils/LoopUtils.h
llvm/lib/Analysis/IVDescriptors.cpp
llvm/lib/CodeGen/ExpandReductions.cpp
llvm/lib/Transforms/Utils/LoopUtils.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll [new file with mode: 0644]