reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
10379   if (N0.isUndef())
10383   if (DAG.isConstantIntBuildVectorOrConstantInt(N0))
10384     return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N), VT, N0, N1);
10387   if (DAG.ComputeNumSignBits(N0) >= VTBits-EVTBits+1)
10388     return N0;
10391   if (N0.getOpcode() == ISD::SIGN_EXTEND_INREG &&
10392       EVT.bitsLT(cast<VTSDNode>(N0.getOperand(1))->getVT()))
10394                        N0.getOperand(0), N1);
10400   if (N0.getOpcode() == ISD::SIGN_EXTEND || N0.getOpcode() == ISD::ANY_EXTEND) {
10400   if (N0.getOpcode() == ISD::SIGN_EXTEND || N0.getOpcode() == ISD::ANY_EXTEND) {
10401     SDValue N00 = N0.getOperand(0);
10410   if ((N0.getOpcode() == ISD::ANY_EXTEND_VECTOR_INREG ||
10411        N0.getOpcode() == ISD::SIGN_EXTEND_VECTOR_INREG ||
10412        N0.getOpcode() == ISD::ZERO_EXTEND_VECTOR_INREG) &&
10413       N0.getOperand(0).getScalarValueSizeInBits() == EVTBits) {
10417                          N0.getOperand(0));
10422   if (N0.getOpcode() == ISD::ZERO_EXTEND) {
10423     SDValue N00 = N0.getOperand(0);
10430   if (DAG.MaskedValueIsZero(N0, APInt::getOneBitSet(VTBits, EVTBits - 1)))
10431     return DAG.getZeroExtendInReg(N0, SDLoc(N), EVT.getScalarType());
10446   if (N0.getOpcode() == ISD::SRL) {
10447     if (auto *ShAmt = dyn_cast<ConstantSDNode>(N0.getOperand(1)))
10451         unsigned InSignBits = DAG.ComputeNumSignBits(N0.getOperand(0));
10453           return DAG.getNode(ISD::SRA, SDLoc(N), VT, N0.getOperand(0),
10454                              N0.getOperand(1));
10462   if (ISD::isEXTLoad(N0.getNode()) &&
10463       ISD::isUNINDEXEDLoad(N0.getNode()) &&
10464       EVT == cast<LoadSDNode>(N0)->getMemoryVT() &&
10465       ((!LegalOperations && cast<LoadSDNode>(N0)->isSimple() &&
10466         N0.hasOneUse()) ||
10468     LoadSDNode *LN0 = cast<LoadSDNode>(N0);
10474     CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1));
10479   if (ISD::isZEXTLoad(N0.getNode()) && ISD::isUNINDEXEDLoad(N0.getNode()) &&
10479   if (ISD::isZEXTLoad(N0.getNode()) && ISD::isUNINDEXEDLoad(N0.getNode()) &&
10480       N0.hasOneUse() &&
10481       EVT == cast<LoadSDNode>(N0)->getMemoryVT() &&
10482       ((!LegalOperations && cast<LoadSDNode>(N0)->isSimple()) &&
10484     LoadSDNode *LN0 = cast<LoadSDNode>(N0);
10490     CombineTo(N0.getNode(), ExtLoad, ExtLoad.getValue(1));
10495   if (EVTBits <= 16 && N0.getOpcode() == ISD::OR) {
10496     if (SDValue BSwap = MatchBSwapHWordLow(N0.getNode(), N0.getOperand(0),
10496     if (SDValue BSwap = MatchBSwapHWordLow(N0.getNode(), N0.getOperand(0),
10497                                            N0.getOperand(1), false))