Lines Matching refs:VecOp

22045   SDValue VecOp = N->getOperand(0);  in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()  local
22046 EVT VecVT = VecOp.getValueType(); in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()
22172 SDValue NewVecOp = DAG.getBitcast(NewVecVT, VecOp); in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts()
22187 SDValue VecOp = N->getOperand(0); in visitEXTRACT_VECTOR_ELT() local
22190 EVT VecVT = VecOp.getValueType(); in visitEXTRACT_VECTOR_ELT()
22191 if (VecOp.isUndef()) in visitEXTRACT_VECTOR_ELT()
22199 if (VecOp.getOpcode() == ISD::INSERT_VECTOR_ELT && in visitEXTRACT_VECTOR_ELT()
22200 Index == VecOp.getOperand(2)) { in visitEXTRACT_VECTOR_ELT()
22201 SDValue Elt = VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
22206 if (VecOp.getOpcode() == ISD::SCALAR_TO_VECTOR) { in visitEXTRACT_VECTOR_ELT()
22214 SDValue InOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22231 if (VecOp.hasOneUse() && VecOp.getOpcode() == ISD::FREEZE) { in visitEXTRACT_VECTOR_ELT()
22233 VecOp.getOperand(0), Index)); in visitEXTRACT_VECTOR_ELT()
22237 if (((IndexC && VecOp.getOpcode() == ISD::BUILD_VECTOR) || in visitEXTRACT_VECTOR_ELT()
22238 VecOp.getOpcode() == ISD::SPLAT_VECTOR) && in visitEXTRACT_VECTOR_ELT()
22240 assert((VecOp.getOpcode() != ISD::BUILD_VECTOR || in visitEXTRACT_VECTOR_ELT()
22244 VecOp.getOpcode() == ISD::BUILD_VECTOR ? IndexC->getZExtValue() : 0; in visitEXTRACT_VECTOR_ELT()
22245 SDValue Elt = VecOp.getOperand(IndexVal); in visitEXTRACT_VECTOR_ELT()
22248 if (VecOp.hasOneUse() || TLI.aggressivelyPreferBuildVectorSources(VecVT) || in visitEXTRACT_VECTOR_ELT()
22275 KnownBits KnownElt = DAG.computeKnownBits(VecOp, EltMask); in visitEXTRACT_VECTOR_ELT()
22287 if (IndexC && VecOp.getOpcode() == ISD::BITCAST && VecVT.isInteger() && in visitEXTRACT_VECTOR_ELT()
22288 VecOp.hasOneUse()) { in visitEXTRACT_VECTOR_ELT()
22294 SDValue BCSrc = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22326 if (IndexC && VecOp.getOpcode() == ISD::VECTOR_SHUFFLE) { in visitEXTRACT_VECTOR_ELT()
22327 auto *Shuf = cast<ShuffleVectorSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
22338 SVInVec = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22340 SVInVec = VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
22368 if (llvm::all_of(VecOp->uses(), [&](SDNode *Use) { in visitEXTRACT_VECTOR_ELT()
22370 Use->getOperand(0) == VecOp && in visitEXTRACT_VECTOR_ELT()
22374 for (SDNode *Use : VecOp->uses()) { in visitEXTRACT_VECTOR_ELT()
22379 if (SimplifyDemandedVectorElts(VecOp, DemandedElts, true)) { in visitEXTRACT_VECTOR_ELT()
22387 if (SimplifyDemandedBits(VecOp, DemandedBits, DemandedElts, true)) { in visitEXTRACT_VECTOR_ELT()
22408 if (VecOp.getOpcode() == ISD::BITCAST) { in visitEXTRACT_VECTOR_ELT()
22410 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
22413 EVT BCVT = VecOp.getOperand(0).getValueType(); in visitEXTRACT_VECTOR_ELT()
22418 VecOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22423 if (!LegalOperations && !IndexC && VecOp.hasOneUse() && in visitEXTRACT_VECTOR_ELT()
22424 ISD::isNormalLoad(VecOp.getNode()) && in visitEXTRACT_VECTOR_ELT()
22425 !Index->hasPredecessor(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22426 auto *VecLoad = dyn_cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
22441 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22442 LN0 = cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
22443 } else if (VecOp.getOpcode() == ISD::SCALAR_TO_VECTOR && in visitEXTRACT_VECTOR_ELT()
22444 VecOp.getOperand(0).getValueType() == ExtVT && in visitEXTRACT_VECTOR_ELT()
22445 ISD::isNormalLoad(VecOp.getOperand(0).getNode())) { in visitEXTRACT_VECTOR_ELT()
22447 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
22450 LN0 = cast<LoadSDNode>(VecOp.getOperand(0)); in visitEXTRACT_VECTOR_ELT()
22452 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(VecOp)) { in visitEXTRACT_VECTOR_ELT()
22458 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
22468 VecOp = (Idx < (int)NumElts) ? VecOp.getOperand(0) : VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT()
22470 if (VecOp.getOpcode() == ISD::BITCAST) { in visitEXTRACT_VECTOR_ELT()
22472 if (!VecOp.hasOneUse()) in visitEXTRACT_VECTOR_ELT()
22475 VecOp = VecOp.getOperand(0); in visitEXTRACT_VECTOR_ELT()
22477 if (ISD::isNormalLoad(VecOp.getNode())) { in visitEXTRACT_VECTOR_ELT()
22478 LN0 = cast<LoadSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT()
22482 } else if (VecOp.getOpcode() == ISD::CONCAT_VECTORS && !BCNumEltsChanged && in visitEXTRACT_VECTOR_ELT()
22486 VecOp.getOperand(0).getValueType().getVectorElementType()))) { in visitEXTRACT_VECTOR_ELT()
22496 EVT ConcatVT = VecOp.getOperand(0).getValueType(); in visitEXTRACT_VECTOR_ELT()
22501 SDValue ConcatOp = VecOp.getOperand(Elt / ConcatNumElts); in visitEXTRACT_VECTOR_ELT()