diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2021-09-19 08:42:48 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2021-11-13 20:46:08 +0000 | 
| commit | 8c6f6c0c80f896f9c90b7833def615dcb0ce9244 (patch) | |
| tree | af4ca60e0072468e88f389f383ccfa19422bf129 /contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp | |
| parent | 69ade1e033e478ec426cafc0ec2104d672de294a (diff) | |
| parent | 392ac508a0589dec2c854a6466a07a8bfd694e25 (diff) | |
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp b/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp index 52b5ae083d0e..c05a8408e1fd 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp @@ -234,12 +234,15 @@ bool VPlanTransforms::mergeReplicateRegions(VPlan &Plan) {      for (VPRecipeBase &Phi1ToMove : make_early_inc_range(reverse(*Merge1))) {        VPValue *PredInst1 =            cast<VPPredInstPHIRecipe>(&Phi1ToMove)->getOperand(0); -      for (VPUser *U : Phi1ToMove.getVPSingleValue()->users()) { +      VPValue *Phi1ToMoveV = Phi1ToMove.getVPSingleValue(); +      SmallVector<VPUser *> Users(Phi1ToMoveV->user_begin(), +                                  Phi1ToMoveV->user_end()); +      for (VPUser *U : Users) {          auto *UI = dyn_cast<VPRecipeBase>(U);          if (!UI || UI->getParent() != Then2)            continue;          for (unsigned I = 0, E = U->getNumOperands(); I != E; ++I) { -          if (Phi1ToMove.getVPSingleValue() != U->getOperand(I)) +          if (Phi1ToMoveV != U->getOperand(I))              continue;            U->setOperand(I, PredInst1);          }  | 
