reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2087 EVT VT = Op.getValueType(); 2097 if (Op.isUndef()) { 2103 if (!Op.getNode()->hasOneUse() && !AssumeSingleUse) 2109 return TLO.CombineTo(Op, TLO.DAG.getUNDEF(VT)); 2116 SDLoc DL(Op); 2119 switch (Op.getOpcode()) { 2123 return TLO.CombineTo(Op, TLO.DAG.getUNDEF(VT)); 2129 SDValue Src = Op.getOperand(0); 2217 if (llvm::any_of(Op->op_values(), 2218 [&](SDValue Elt) { return Op.getOperand(0) != Elt; })) { 2219 SmallVector<SDValue, 32> Ops(Op->op_begin(), Op->op_end()); 2219 SmallVector<SDValue, 32> Ops(Op->op_begin(), Op->op_end()); 2229 return TLO.CombineTo(Op, TLO.DAG.getBuildVector(VT, DL, Ops)); 2233 SDValue SrcOp = Op.getOperand(i); 2244 EVT SubVT = Op.getOperand(0).getValueType(); 2245 unsigned NumSubVecs = Op.getNumOperands(); 2248 SDValue SubOp = Op.getOperand(i); 2260 if (!isa<ConstantSDNode>(Op.getOperand(2))) 2262 SDValue Base = Op.getOperand(0); 2263 SDValue Sub = Op.getOperand(1); 2266 const APInt &Idx = Op.getConstantOperandAPInt(2); 2280 return TLO.CombineTo(Op, 2283 Op.getOperand(1), 2284 Op.getOperand(2))); 2294 SDValue Src = Op.getOperand(0); 2295 ConstantSDNode *SubIdx = dyn_cast<ConstantSDNode>(Op.getOperand(1)); 2311 SDValue Vec = Op.getOperand(0); 2312 SDValue Scl = Op.getOperand(1); 2313 auto *CIdx = dyn_cast<ConstantSDNode>(Op.getOperand(2)); 2320 return TLO.CombineTo(Op, Vec); 2353 if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, UnusedUndef, 2362 if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedLHS, UndefLHS, 2365 if (SimplifyDemandedVectorElts(Op.getOperand(2), DemandedRHS, UndefRHS, 2374 ArrayRef<int> ShuffleMask = cast<ShuffleVectorSDNode>(Op)->getMask(); 2393 if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedLHS, UndefLHS, 2396 if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedRHS, UndefRHS, 2421 buildLegalVectorShuffle(VT, DL, Op.getOperand(0), Op.getOperand(1), 2421 buildLegalVectorShuffle(VT, DL, Op.getOperand(0), Op.getOperand(1), 2424 return TLO.CombineTo(Op, LegalShuffle); 2450 SDValue Src = Op.getOperand(0); 2459 if (Op.getOpcode() == ISD::ANY_EXTEND_VECTOR_INREG && 2460 Op.getValueSizeInBits() == Src.getValueSizeInBits() && 2463 return TLO.CombineTo(Op, TLO.DAG.getBitcast(VT, Src)); 2466 if (Op.getOpcode() == ISD::ZERO_EXTEND_VECTOR_INREG) { 2469 return TLO.CombineTo(Op, TLO.DAG.getConstant(0, SDLoc(Op), VT)); 2469 return TLO.CombineTo(Op, TLO.DAG.getConstant(0, SDLoc(Op), VT)); 2487 if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedElts, UndefRHS, 2491 if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, UndefLHS, 2496 KnownUndef = getKnownUndefForVectorBinop(Op, TLO.DAG, UndefLHS, UndefRHS); 2505 if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedElts, UndefRHS, 2509 if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, UndefLHS, 2520 if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedElts, SrcUndef, 2523 if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, KnownUndef, 2539 if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, KnownUndef, 2543 if (Op.getOpcode() == ISD::ZERO_EXTEND) { 2546 return TLO.CombineTo(Op, TLO.DAG.getConstant(0, SDLoc(Op), VT)); 2546 return TLO.CombineTo(Op, TLO.DAG.getConstant(0, SDLoc(Op), VT)); 2551 if (Op.getOpcode() >= ISD::BUILTIN_OP_END) { 2552 if (SimplifyDemandedVectorEltsForTargetNode(Op, DemandedElts, KnownUndef, 2558 if (SimplifyDemandedBits(Op, DemandedBits, OriginalDemandedElts, Known, 2570 return TLO.CombineTo(Op, TLO.DAG.getUNDEF(VT));