================ @@ -3235,6 +3263,36 @@ void VPWidenPointerInductionRecipe::print(raw_ostream &O, const Twine &Indent, } #endif +void VPAliasLaneMaskRecipe::execute(VPTransformState &State) { + IRBuilderBase Builder = State.Builder; + Value *SinkValue = State.get(getSinkValue(), true); + Value *SourceValue = State.get(getSourceValue(), true); + + auto *Type = SinkValue->getType(); + Value *AliasMask = Builder.CreateIntrinsic( + Intrinsic::experimental_get_alias_lane_mask, + {VectorType::get(Builder.getInt1Ty(), State.VF), Type, + Builder.getInt64Ty()}, + {SourceValue, SinkValue, Builder.getInt64(getAccessedElementSize()), + Builder.getInt1(WriteAfterRead)}, + nullptr, "alias.lane.mask"); + State.set(this, AliasMask, /*IsScalar=*/false); +} + +#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) +void VPAliasLaneMaskRecipe::print(raw_ostream &O, const Twine &Indent, + VPSlotTracker &SlotTracker) const { + O << Indent << "EMIT "; + getVPSingleValue()->printAsOperand(O, SlotTracker); + O << " = alias lane mask "; ---------------- MacDue wrote:
nit: These seem more commonly printed in all caps with hyphens. ```suggestion O << " = ALIAS-LANE-MASK "; ``` 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