llvm-project/llvm/lib/Transforms/Vectorize
Huihui Zhang d857a81437 [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism.
Use SetVector instead of SmallPtrSet for external definitions created for VPlan.
Doing this can help avoid non-determinism caused by iterating over unordered containers.

This bug was found with reverse iteration turning on,
 --extra-llvm-cmake-variables="-DLLVM_REVERSE_ITERATION=ON".
Failing LLVM-Unit test VPRecipeTest.dump.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D99544
2021-03-30 12:10:56 -07:00
..
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
LoadStoreVectorizer.cpp [TargetLowering] Use Align in allowsMisalignedMemoryAccesses. 2021-02-04 19:22:06 -08:00
LoopVectorizationLegality.cpp Recommit "[LV] Move runtime pointer size check to LVP::plan()." 2021-03-29 16:14:27 +01:00
LoopVectorizationPlanner.h Recommit "[LV] Move runtime pointer size check to LVP::plan()." 2021-03-29 16:14:27 +01:00
LoopVectorize.cpp [LoopVectorize] Add support for scalable vectorization of induction variables 2021-03-30 11:13:31 +01:00
SLPVectorizer.cpp [SLP] allow matching integer min/max intrinsics as reduction ops 2021-03-29 09:38:18 -04:00
VPRecipeBuilder.h [VPlan] Remove PredInst2Recipe, use VP operands instead. (NFC) 2021-03-16 17:40:35 +00:00
VPlan.cpp [VPlan] Include name when printing after 93a9d2de8f. 2021-03-23 09:50:14 +00:00
VPlan.h [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism. 2021-03-30 12:10:56 -07:00
VPlanDominatorTree.h Revert multiple patches based on "Introduce CfgTraits abstraction" 2020-10-27 20:33:30 +01:00
VPlanHCFGBuilder.cpp [VPlan] Manage pairs of incoming (VPValue, VPBB) in VPWidenPHIRecipe. 2021-02-22 09:44:25 +00:00
VPlanHCFGBuilder.h
VPlanLoopInfo.h
VPlanPredicator.cpp [llvm] Drop unnecessary make_range (NFC) 2021-01-09 09:25:00 -08:00
VPlanPredicator.h
VPlanSLP.cpp [NFC][VPlan] Guard print routines with "#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" 2021-03-19 10:50:12 -07:00
VPlanTransforms.cpp [VPlan] Support to widen select intructions in VPlan native path 2021-03-10 20:59:53 +00:00
VPlanTransforms.h [VPlan] Support to widen select intructions in VPlan native path 2021-03-10 20:59:53 +00:00
VPlanValue.h [NFC][VPlan] Guard print routines with "#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" 2021-03-19 10:50:12 -07:00
VPlanVerifier.cpp Use llvm::is_contained where appropriate (NFC) 2020-07-27 10:20:44 -07:00
VPlanVerifier.h [VPlan] Remove unused forward declarations. NFC. 2020-04-23 12:34:20 +01:00
VectorCombine.cpp [TTI] Add a Mask to getShuffleCost 2021-03-17 17:46:26 +00:00
Vectorize.cpp