Lines Matching defs:VectorizedValue

2863                return Entry->VectorizedValue == OpI;
3295 WeakTrackingVH VectorizedValue = nullptr;
3546 dbgs() << "VectorizedValue: ";
3547 if (VectorizedValue)
3548 dbgs() << *VectorizedValue << "\n";
14028 return TE->VectorizedValue == OI;
14225 VecBase = TEs.front()->VectorizedValue;
14283 VecOp = TEs.front()->VectorizedValue;
14294 VecOp = TEs.front()->VectorizedValue;
14350 TEs, [](const TreeEntry *TE) { return TE->VectorizedValue; });
14364 Value *V1 = E1.VectorizedValue;
14372 Value *V2 = E2.VectorizedValue;
14385 Value *V1 = E1.VectorizedValue;
14539 Value *V = E->VectorizedValue;
14715 (*It)->VectorizedValue = V;
15062 !TEs.empty() && TEs.front()->VectorizedValue)
15063 VecOp = TEs.front()->VectorizedValue;
15109 TEs.front()->VectorizedValue
15110 ? isGuaranteedNotToBePoison(TEs.front()->VectorizedValue, AC)
15120 if (TEs.front()->VectorizedValue && TEs.back()->VectorizedValue)
15122 isGuaranteedNotToBePoison(TEs.front()->VectorizedValue, AC) &&
15123 isGuaranteedNotToBePoison(TEs.back()->VectorizedValue, AC);
15246 if (E->VectorizedValue &&
15250 return E->VectorizedValue;
15270 E->VectorizedValue = Vec;
15325 if (PostponedPHIs && E->VectorizedValue)
15326 return E->VectorizedValue;
15331 if (PostponedPHIs || !E->VectorizedValue) {
15343 E->VectorizedValue = V;
15385 assert(E->VectorizedValue && "Expected vectorized value.");
15386 return E->VectorizedValue;
15392 V = TEs.front()->VectorizedValue;
15395 E->VectorizedValue = V;
15405 E->VectorizedValue = NewV;
15566 E->VectorizedValue = V;
15584 if (E->VectorizedValue) {
15586 return E->VectorizedValue;
15622 E->VectorizedValue = V;
15631 if (E->VectorizedValue) {
15633 return E->VectorizedValue;
15636 if (E->VectorizedValue) {
15638 return E->VectorizedValue;
15668 E->VectorizedValue = V;
15676 if (E->VectorizedValue) {
15678 return E->VectorizedValue;
15681 if (E->VectorizedValue) {
15683 return E->VectorizedValue;
15686 if (E->VectorizedValue) {
15688 return E->VectorizedValue;
15721 E->VectorizedValue = V;
15730 if (E->VectorizedValue) {
15732 return E->VectorizedValue;
15743 E->VectorizedValue = V;
15753 if (E->VectorizedValue) {
15755 return E->VectorizedValue;
15767 E->VectorizedValue = V;
15793 if (E->VectorizedValue) {
15795 return E->VectorizedValue;
15798 if (E->VectorizedValue) {
15800 return E->VectorizedValue;
15810 E->VectorizedValue = V;
15844 E->VectorizedValue = V;
15903 if (E->VectorizedValue) {
15905 return E->VectorizedValue;
15935 E->VectorizedValue = V;
15979 E->VectorizedValue = V;
15988 if (E->VectorizedValue) {
15990 return E->VectorizedValue;
15996 if (E->VectorizedValue) {
15998 return E->VectorizedValue;
16015 E->VectorizedValue = V;
16058 if (E->VectorizedValue) {
16060 return E->VectorizedValue;
16097 E->VectorizedValue = V;
16106 if (E->VectorizedValue) {
16108 return E->VectorizedValue;
16139 if (E->VectorizedValue) {
16141 return E->VectorizedValue;
16148 if (E->VectorizedValue) {
16150 return E->VectorizedValue;
16203 E->VectorizedValue = LHS;
16264 E->VectorizedValue = V;
16314 TE->VectorizedValue)
16329 auto *PrevVec = cast<Instruction>(TE->VectorizedValue);
16330 TE->VectorizedValue = nullptr;
16332 cast<Instruction>(TE->UserTreeIndices.front().UserTE->VectorizedValue);
16419 VTE->VectorizedValue = Vec;
16455 Value *Vec = E->VectorizedValue;
16506 V = ETEs.front()->VectorizedValue;
16825 assert(Entry->VectorizedValue && "Can't find vectorizable value");
16862 if (auto *V = dyn_cast<Instruction>(VectorizableTree[0]->VectorizedValue))
16913 Value *Vec = RootTE.VectorizedValue;
20617 Value *emitReduction(Value *VectorizedValue, IRBuilderBase &Builder,
20619 assert(VectorizedValue && "Need to have a vectorized tree node");
20623 auto *FTy = cast<FixedVectorType>(VectorizedValue->getType());
20630 VectorizedValue, Builder.getIntNTy(FTy->getNumElements()));
20635 return createSimpleReduction(Builder, VectorizedValue, RdxKind);
20639 Value *emitScaleForReusedOps(Value *VectorizedValue, IRBuilderBase &Builder,
20645 return VectorizedValue;
20649 Value *Scale = ConstantInt::get(VectorizedValue->getType(), Cnt);
20651 << VectorizedValue << ". (HorRdx)\n");
20652 return Builder.CreateMul(VectorizedValue, Scale);
20656 LLVM_DEBUG(dbgs() << "SLP: Xor " << Cnt << "of " << VectorizedValue
20659 return Constant::getNullValue(VectorizedValue->getType());
20660 return VectorizedValue;
20664 Value *Scale = ConstantFP::get(VectorizedValue->getType(), Cnt);
20666 << VectorizedValue << ". (HorRdx)\n");
20667 return Builder.CreateFMul(VectorizedValue, Scale);
20680 return VectorizedValue;
20697 emitReusedOps(Value *VectorizedValue, IRBuilderBase &Builder, BoUpSLP &R,
20704 auto *VTy = cast<FixedVectorType>(VectorizedValue->getType());
20706 VectorizedValue = Builder.CreateIntCast(
20707 VectorizedValue,
20721 << VectorizedValue << ". (HorRdx)\n");
20722 return Builder.CreateMul(VectorizedValue, Scale);
20727 LLVM_DEBUG(dbgs() << "SLP: And/or of same " << VectorizedValue
20729 return VectorizedValue;
20739 LLVM_DEBUG(dbgs() << "SLP: Max/min of same " << VectorizedValue
20741 return VectorizedValue;
20748 cast<FixedVectorType>(VectorizedValue->getType())->getNumElements(),
20763 dbgs() << "> of " << VectorizedValue << ". (HorRdx)\n");
20765 VectorizedValue = Builder.CreateShuffleVector(
20766 VectorizedValue,
20767 ConstantVector::getNullValue(VectorizedValue->getType()), Mask);
20768 return VectorizedValue;
20778 return Builder.CreateFMul(VectorizedValue, Scale);