llvm-project/llvm/lib/Transforms/Vectorize
Anna Thomas 5e9215f02b [LV] Avoid vectorizing unsafe dependencies in uniform address
Summary:
Currently, when vectorizing stores to uniform addresses, the only
instance we prevent vectorization is if there are multiple stores to the
same uniform address causing an unsafe dependency.
This patch teaches LAA to avoid vectorizing loops that have an unsafe
cross-iteration dependency between a load and a store to the same uniform address.

Fixes PR39653.

Reviewers: Ayal, efriedma

Subscribers: rkruppe, llvm-commits

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

llvm-svn: 347220
2018-11-19 15:39:59 +00:00
..
CMakeLists.txt [VPlan, SLP] Add simple SLP analysis on top of VPlan. 2018-11-14 13:11:49 +00:00
LLVMBuild.txt
LoadStoreVectorizer.cpp LSV: Fix adjust alloca alignment trick for AMDGPU 2018-09-18 02:05:44 +00:00
LoopVectorizationLegality.cpp [LV] Avoid vectorizing unsafe dependencies in uniform address 2018-11-19 15:39:59 +00:00
LoopVectorizationPlanner.h [VPlan] Move recipe construction to VPRecipeBuilder. 2018-06-08 17:30:45 +00:00
LoopVectorize.cpp [VPlan] VPlan version of InterleavedAccessInfo. 2018-11-13 15:58:18 +00:00
SLPVectorizer.cpp [SLPVectorizer] Add basic support for mul/and/or/xor horizontal reductions 2018-10-23 15:13:09 +00:00
VPRecipeBuilder.h recommit 344472 after fixing build failure on ARM and PPC. 2018-10-14 08:50:06 +00:00
VPlan.cpp [VPlan, SLP] Add simple SLP analysis on top of VPlan. 2018-11-14 13:11:49 +00:00
VPlan.h [VPlan, SLP] Use SmallPtrSet for Candidates. 2018-11-14 15:58:40 +00:00
VPlanDominatorTree.h [VPlan] Introduce VPlan-based dominator analysis. 2018-07-30 21:33:31 +00:00
VPlanHCFGBuilder.cpp [TI removal] Make variables declared as `TerminatorInst` and initialized 2018-10-15 10:04:59 +00:00
VPlanHCFGBuilder.h [VPlan] Introduce VPlan-based dominator analysis. 2018-07-30 21:33:31 +00:00
VPlanHCFGTransforms.cpp Fix for the buildbot failure http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/23635 2018-09-14 02:02:57 +00:00
VPlanHCFGTransforms.h [VPlan] Add VPInstruction to VPRecipe transformation. 2018-06-18 18:28:49 +00:00
VPlanLoopInfo.h [VPlan] Introduce VPLoopInfo analysis. 2018-07-31 01:57:29 +00:00
VPlanSLP.cpp [VPlan, SLP] Use SmallPtrSet for Candidates. 2018-11-14 15:58:40 +00:00
VPlanValue.h [VPlan, SLP] Add simple SLP analysis on top of VPlan. 2018-11-14 13:11:49 +00:00
VPlanVerifier.cpp [VPlan][LV] Introduce condition bit in VPBlockBase 2018-07-09 15:57:09 +00:00
VPlanVerifier.h [VPlan] Reland r332654 and silence unused func warning 2018-05-21 18:14:23 +00:00
Vectorize.cpp [LLVM-C] [OCaml] Remove LLVMAddBBVectorizePass 2018-05-28 16:58:10 +00:00