@@ -3671,7 +3671,6 @@ class BoUpSLP {
36713671
36723672 if (UserTreeIdx.UserTE)
36733673 Last->UserTreeIndices.push_back(UserTreeIdx);
3674- LLVM_DEBUG(Last->dump());
36753674 return Last;
36763675 }
36773676
@@ -8389,7 +8388,8 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
83898388
83908389 TreeEntry *TE =
83918390 newTreeEntry(VL, Bundle, S, UserTreeIdx, ReuseShuffleIndices);
8392- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (PHINode).\n");
8391+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (PHINode).\n";
8392+ TE->dump());
83938393
83948394 // Keeps the reordered operands to avoid code duplication.
83958395 PHIHandler Handler(*DT, PH, VL);
@@ -8421,7 +8421,8 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
84218421 TreeEntry *TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
84228422 ReuseShuffleIndices, CurrentOrder);
84238423 LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry "
8424- "(ExtractValueInst/ExtractElementInst).\n");
8424+ "(ExtractValueInst/ExtractElementInst).\n";
8425+ TE->dump());
84258426 // This is a special case, as it does not gather, but at the same time
84268427 // we are not extending buildTree_rec() towards the operands.
84278428 TE->setOperand(*this);
@@ -8452,7 +8453,8 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
84528453 CurrentOrder.clear();
84538454 TreeEntry *TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
84548455 {}, CurrentOrder);
8455- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (InsertElementInst).\n");
8456+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (InsertElementInst).\n";
8457+ TE->dump());
84568458
84578459 TE->setOperand(*this);
84588460 buildTree_rec(TE->getOperand(1), Depth + 1, {TE, 1});
@@ -8472,25 +8474,28 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
84728474 TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
84738475 ReuseShuffleIndices, CurrentOrder, InterleaveFactor);
84748476 if (CurrentOrder.empty())
8475- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (LoadInst).\n");
8477+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (LoadInst).\n";
8478+ TE->dump());
84768479 else
84778480 LLVM_DEBUG(dbgs()
8478- << "SLP: added a new TreeEntry (jumbled LoadInst).\n");
8481+ << "SLP: added a new TreeEntry (jumbled LoadInst).\n";
8482+ TE->dump());
84798483 break;
84808484 case TreeEntry::StridedVectorize:
84818485 // Vectorizing non-consecutive loads with `llvm.masked.gather`.
84828486 TE = newTreeEntry(VL, TreeEntry::StridedVectorize, Bundle, S,
84838487 UserTreeIdx, ReuseShuffleIndices, CurrentOrder);
8484- LLVM_DEBUG(
8485- dbgs() << "SLP: added a new TreeEntry (strided LoadInst).\n" );
8488+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (strided LoadInst).\n";
8489+ TE->dump() );
84868490 break;
84878491 case TreeEntry::ScatterVectorize:
84888492 // Vectorizing non-consecutive loads with `llvm.masked.gather`.
84898493 TE = newTreeEntry(VL, TreeEntry::ScatterVectorize, Bundle, S,
84908494 UserTreeIdx, ReuseShuffleIndices);
84918495 LLVM_DEBUG(
84928496 dbgs()
8493- << "SLP: added a new TreeEntry (non-consecutive LoadInst).\n");
8497+ << "SLP: added a new TreeEntry (non-consecutive LoadInst).\n";
8498+ TE->dump());
84948499 break;
84958500 case TreeEntry::CombinedVectorize:
84968501 case TreeEntry::NeedToGather:
@@ -8534,7 +8539,8 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
85348539 }
85358540 TreeEntry *TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
85368541 ReuseShuffleIndices);
8537- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (CastInst).\n");
8542+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (CastInst).\n";
8543+ TE->dump());
85388544
85398545 TE->setOperand(*this);
85408546 for (unsigned I : seq<unsigned>(VL0->getNumOperands()))
@@ -8561,7 +8567,8 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
85618567 CmpInst::Predicate P0 = cast<CmpInst>(VL0)->getPredicate();
85628568 TreeEntry *TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
85638569 ReuseShuffleIndices);
8564- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (CmpInst).\n");
8570+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (CmpInst).\n";
8571+ TE->dump());
85658572
85668573 ValueList Left, Right;
85678574 VLOperands Ops(VL, VL0, *this);
@@ -8633,7 +8640,8 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
86338640 ReuseShuffleIndices);
86348641 LLVM_DEBUG(
86358642 dbgs() << "SLP: added a new TreeEntry "
8636- "(SelectInst/UnaryOperator/BinaryOperator/FreezeInst).\n");
8643+ "(SelectInst/UnaryOperator/BinaryOperator/FreezeInst).\n";
8644+ TE->dump());
86378645
86388646 TE->setOperand(*this, isa<BinaryOperator>(VL0) && isCommutative(VL0));
86398647 for (unsigned I : seq<unsigned>(VL0->getNumOperands()))
@@ -8643,7 +8651,8 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
86438651 case Instruction::GetElementPtr: {
86448652 TreeEntry *TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
86458653 ReuseShuffleIndices);
8646- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (GetElementPtrInst).\n");
8654+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (GetElementPtrInst).\n";
8655+ TE->dump());
86478656 SmallVector<ValueList, 2> Operands(2);
86488657 // Prepare the operand vector for pointer operands.
86498658 for (Value *V : VL) {
@@ -8702,10 +8711,12 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
87028711 TreeEntry *TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
87038712 ReuseShuffleIndices, CurrentOrder);
87048713 if (Consecutive)
8705- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (StoreInst).\n");
8714+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (StoreInst).\n";
8715+ TE->dump());
87068716 else
87078717 LLVM_DEBUG(
8708- dbgs() << "SLP: added a new TreeEntry (jumbled StoreInst).\n");
8718+ dbgs() << "SLP: added a new TreeEntry (jumbled StoreInst).\n";
8719+ TE->dump());
87098720 TE->setOperand(*this);
87108721 buildTree_rec(TE->getOperand(0), Depth + 1, {TE, 0});
87118722 return;
@@ -8718,7 +8729,8 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
87188729
87198730 TreeEntry *TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
87208731 ReuseShuffleIndices);
8721- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (CallInst).\n");
8732+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (CallInst).\n";
8733+ TE->dump());
87228734 TE->setOperand(*this, isCommutative(VL0));
87238735 for (unsigned I : seq<unsigned>(CI->arg_size())) {
87248736 // For scalar operands no need to create an entry since no need to
@@ -8733,11 +8745,13 @@ void BoUpSLP::buildTree_rec(ArrayRef<Value *> VL, unsigned Depth,
87338745 TreeEntry *TE = newTreeEntry(VL, Bundle /*vectorized*/, S, UserTreeIdx,
87348746 ReuseShuffleIndices);
87358747 if (S.isAltShuffle()) {
8736- LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (isAltShuffle).\n");
8748+ LLVM_DEBUG(dbgs() << "SLP: added a new TreeEntry (isAltShuffle).\n";
8749+ TE->dump());
87378750 } else {
87388751 assert(SLPReVec && "Only supported by REVEC.");
87398752 LLVM_DEBUG(
8740- dbgs() << "SLP: added a new TreeEntry (ShuffleVectorInst).\n");
8753+ dbgs() << "SLP: added a new TreeEntry (ShuffleVectorInst).\n";
8754+ TE->dump());
87418755 }
87428756
87438757 // Reorder operands if reordering would enable vectorization.
0 commit comments