================ @@ -1300,14 +1301,38 @@ static VPActiveLaneMaskPHIRecipe *addVPLaneMaskPhiAndUpdateExitBranch( cast<VPInstruction>(CanonicalIVPHI->getBackedgeValue()); // TODO: Check if dropping the flags is needed if // !DataAndControlFlowWithoutRuntimeCheck. + VPValue *IncVal = CanonicalIVIncrement->getOperand(1); + assert(IncVal != CanonicalIVPHI && "Unexpected operand order"); + CanonicalIVIncrement->dropPoisonGeneratingFlags(); DebugLoc DL = CanonicalIVIncrement->getDebugLoc(); + // We can't use StartV directly in the ActiveLaneMask VPInstruction, since // we have to take unrolling into account. Each part needs to start at // Part * VF auto *VecPreheader = Plan.getVectorPreheader(); VPBuilder Builder(VecPreheader); + // Create an alias mask for each possibly-aliasing pointer pair. If there + // are multiple they are combined together with ANDs. + VPValue *AliasMask = nullptr; + + for (auto C : RTChecks) { + // FIXME: How to pass this info back? + // HasAliasMask = true; ---------------- SamTebbs33 wrote:
The info is acutally being passed back so I can remove this FIXME. Done. https://github.com/llvm/llvm-project/pull/100579 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits