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

References

lib/CodeGen/SelectionDAG/TargetLowering.cpp
 3058   if (SDValue Fold = DAG.FoldSetCC(VT, N0, N1, Cond, dl))
 3067     return DAG.getSetCC(dl, VT, N1, N0, SwappedCC);
 3076       DAG.getNodeIfExists(ISD::SUB, DAG.getVTList(OpVT), { N1, N0 } ) &&
 3076       DAG.getNodeIfExists(ISD::SUB, DAG.getVTList(OpVT), { N1, N0 } ) &&
 3077       !DAG.getNodeIfExists(ISD::SUB, DAG.getVTList(OpVT), { N0, N1 } ))
 3077       !DAG.getNodeIfExists(ISD::SUB, DAG.getVTList(OpVT), { N0, N1 } ))
 3078     return DAG.getSetCC(dl, VT, N1, N0, SwappedCC);
 3101         SDValue Zero = DAG.getConstant(0, dl, N0.getValueType());
 3102         return DAG.getSetCC(dl, VT, N0.getOperand(0).getOperand(0),
 3121         SDValue NegOne = DAG.getAllOnesConstant(dl, CTVT);
 3122         SDValue Add = DAG.getNode(ISD::ADD, dl, CTVT, CTOp, NegOne);
 3123         SDValue And = DAG.getNode(ISD::AND, dl, CTVT, CTOp, Add);
 3125         return DAG.getSetCC(dl, VT, And, DAG.getConstant(0, dl, CTVT), CC);
 3125         return DAG.getSetCC(dl, VT, And, DAG.getConstant(0, dl, CTVT), CC);
 3133         SDValue Zero = DAG.getConstant(0, dl, CTVT);
 3134         SDValue NegOne = DAG.getAllOnesConstant(dl, CTVT);
 3136         SDValue Add = DAG.getNode(ISD::ADD, dl, CTVT, CTOp, NegOne);
 3137         SDValue And = DAG.getNode(ISD::AND, dl, CTVT, CTOp, Add);
 3138         SDValue LHS = DAG.getSetCC(dl, VT, CTOp, Zero, InvCond);
 3139         SDValue RHS = DAG.getSetCC(dl, VT, And, Zero, Cond);
 3141         return DAG.getNode(LogicOpcode, dl, VT, LHS, RHS);
 3189         EVT MinVT = EVT::getIntegerVT(*DAG.getContext(), MinBits);
 3192           SDValue Trunc = DAG.getNode(ISD::TRUNCATE, dl, MinVT, PreExt);
 3195             return DAG.getSetCC(dl, VT, Trunc, DAG.getConstant(0, dl, MVT::i1),
 3195             return DAG.getSetCC(dl, VT, Trunc, DAG.getConstant(0, dl, MVT::i1),
 3197           SDValue C = DAG.getConstant(C1.trunc(MinBits), dl, MinVT);
 3198           return DAG.getSetCC(dl, VT, Trunc, C, Cond);
 3227           return DAG.getSetCC(dl, VT, TopSetCC.getOperand(0),
 3259               if (DAG.getDataLayout().isLittleEndian())
 3272         EVT newVT = EVT::getIntegerVT(*DAG.getContext(), bestWidth);
 3278             Ptr = DAG.getNode(ISD::ADD, dl, PtrType, Lod->getBasePtr(),
 3279                               DAG.getConstant(bestOffset, dl, PtrType));
 3281           SDValue NewLoad = DAG.getLoad(
 3284           return DAG.getSetCC(dl, VT,
 3285                               DAG.getNode(ISD::AND, dl, newVT, NewLoad,
 3286                                       DAG.getConstant(bestMask.trunc(bestWidth),
 3288                               DAG.getConstant(0LL, dl, newVT), Cond);
 3305           return DAG.getConstant(0, dl, VT);
 3309           return DAG.getConstant(1, dl, VT);
 3313           return DAG.getConstant(C1.isNegative(), dl, VT);
 3317           return DAG.getConstant(C1.isNonNegative(), dl, VT);
 3336               getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), newVT);
 3336               getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), newVT);
 3337           SDValue NewConst = DAG.getConstant(C1.trunc(InSize), dl, newVT);
 3339           SDValue NewSetCC = DAG.getSetCC(dl, NewSetCCVT, N0.getOperand(0),
 3341           return DAG.getBoolExtOrTrunc(NewSetCC, dl, VT, N0.getValueType());
 3358         return DAG.getConstant(Cond == ISD::SETNE, dl, VT);
 3366         ZextOp = DAG.getNode(ISD::AND, dl, Op0Ty, N0.getOperand(0),
 3367                              DAG.getConstant(Imm, dl, Op0Ty));
 3372       return DAG.getSetCC(dl, VT, ZextOp,
 3373                           DAG.getConstant(C1 & APInt::getLowBitsSet(
 3388           return DAG.getNode(ISD::TRUNCATE, dl, VT, N0);
 3395           return DAG.getSetCC(dl, VT, N0.getOperand(0), N0.getOperand(1), CC);
 3407         if (DAG.MaskedValueIsZero(N0,
 3418             Val = DAG.getNode(ISD::AND, dl, N0.getValueType(),
 3423           return DAG.getSetCC(dl, VT, Val, N1,
 3439           return DAG.getSetCC(dl, VT, Op0.getOperand(0), Op0.getOperand(1),
 3447             Op0 = DAG.getNode(ISD::AND, dl, VT,
 3448                           DAG.getNode(ISD::TRUNCATE, dl, VT, Op0.getOperand(0)),
 3449                           DAG.getConstant(1, dl, VT));
 3451             Op0 = DAG.getNode(ISD::AND, dl, VT,
 3452                         DAG.getNode(ISD::ANY_EXTEND, dl, VT, Op0.getOperand(0)),
 3453                         DAG.getConstant(1, dl, VT));
 3455           return DAG.getSetCC(dl, VT, Op0,
 3456                               DAG.getConstant(0, dl, Op0.getValueType()),
 3461           return DAG.getSetCC(dl, VT, Op0,
 3462                               DAG.getConstant(0, dl, Op0.getValueType()),
 3473       KnownBits XKnown = DAG.computeKnownBits(N0.getOperand(0));
 3474       KnownBits YKnown = DAG.computeKnownBits(N0.getOperand(1));
 3476         return DAG.getSetCC(dl, VT, N0.getOperand(0), N1, Cond);
 3503         return DAG.getBoolConstant(true, dl, VT, OpVT);
 3513           return DAG.getSetCC(dl, VT, N0,
 3514                               DAG.getConstant(C, dl, N1.getValueType()),
 3523         return DAG.getBoolConstant(true, dl, VT, OpVT);
 3533           return DAG.getSetCC(dl, VT, N0,
 3534                               DAG.getConstant(C, dl, N1.getValueType()),
 3542         return DAG.getBoolConstant(false, dl, VT, OpVT); // X < MIN --> false
 3548           return DAG.getSetCC(dl, VT, N0, N1, ISD::SETNE);
 3552           return DAG.getSetCC(dl, VT, N0,
 3553                               DAG.getConstant(MinVal, dl, N0.getValueType()),
 3560         return DAG.getBoolConstant(false, dl, VT, OpVT); // X > MAX --> false
 3566           return DAG.getSetCC(dl, VT, N0, N1, ISD::SETNE);
 3570           return DAG.getSetCC(dl, VT, N0,
 3571                               DAG.getConstant(MaxVal, dl, N0.getValueType()),
 3591         return DAG.getSetCC(dl, VT, N0,
 3592                             DAG.getConstant(0, dl, N1.getValueType()),
 3599             DAG.getConstant(APInt::getAllOnesValue(OperandBitSize), dl,
 3601         return DAG.getSetCC(dl, VT, N0, ConstMinusOne, ISD::SETGT);
 3609     const TargetLowering &TLI = DAG.getTargetLoweringInfo();
 3617       auto &DL = DAG.getDataLayout();
 3625             return DAG.getNode(ISD::TRUNCATE, dl, VT,
 3626                                DAG.getNode(ISD::SRL, dl, ShValTy, N0,
 3627                                            DAG.getConstant(ShCt, dl, ShiftTy)));
 3635             return DAG.getNode(ISD::TRUNCATE, dl, VT,
 3636                                DAG.getNode(ISD::SRL, dl, ShValTy, N0,
 3637                                            DAG.getConstant(ShCt, dl, ShiftTy)));
 3652             auto &DL = DAG.getDataLayout();
 3656             SDValue Shift = DAG.getNode(ISD::SRL, dl, CmpTy, N0.getOperand(0),
 3657                                         DAG.getConstant(ShiftBits, dl,
 3659             SDValue CmpRHS = DAG.getConstant(C1.lshr(ShiftBits), dl, CmpTy);
 3660             return DAG.getSetCC(dl, VT, Shift, CmpRHS, Cond);
 3683           auto &DL = DAG.getDataLayout();
 3687           SDValue Shift = DAG.getNode(ISD::SRL, dl, CmpTy, N0,
 3688                                       DAG.getConstant(ShiftBits, dl, ShiftTy));
 3689           SDValue CmpRHS = DAG.getConstant(NewC, dl, CmpTy);
 3690           return DAG.getSetCC(dl, VT, Shift, CmpRHS, NewCond);
 3705       return DAG.getSetCC(dl, VT, N0, N0, Cond);
 3712         SDValue NegN1 = DAG.getNode(ISD::FNEG, dl, N0.getValueType(), N1);
 3713         return DAG.getSetCC(dl, VT, N0.getOperand(0), NegN1, SwapCond);
 3727             return DAG.getSetCC(dl, VT, N0, N1, ISD::SETOLE);
 3730             return DAG.getSetCC(dl, VT, N0, N1, ISD::SETULE);
 3733             return DAG.getSetCC(dl, VT, N0, N1, ISD::SETUGT);
 3736             return DAG.getSetCC(dl, VT, N0, N1, ISD::SETOGT);
 3740             return DAG.getSetCC(dl, VT, N0, N1, ISD::SETOGE);
 3743             return DAG.getSetCC(dl, VT, N0, N1, ISD::SETUGE);
 3746             return DAG.getSetCC(dl, VT, N0, N1, ISD::SETULT);
 3749             return DAG.getSetCC(dl, VT, N0, N1, ISD::SETOLT);
 3764       return DAG.getBoolConstant(EqTrue, dl, VT, OpVT);
 3766       return DAG.getBoolConstant(EqTrue, dl, VT, OpVT);
 3773       return DAG.getSetCC(dl, VT, N0, N1, NewCond);
 3783           return DAG.getSetCC(dl, VT, N0.getOperand(1), N1.getOperand(1), Cond);
 3785           return DAG.getSetCC(dl, VT, N0.getOperand(0), N1.getOperand(0), Cond);
 3789             return DAG.getSetCC(dl, VT, N0.getOperand(1), N1.getOperand(0),
 3792             return DAG.getSetCC(dl, VT, N0.getOperand(0), N1.getOperand(1),
 3805             return DAG.getSetCC(dl, VT, N0.getOperand(0),
 3806                                 DAG.getConstant(RHSC->getAPIntValue()-
 3815             if (DAG.MaskedValueIsZero(N0.getOperand(0), ~LHSR->getAPIntValue()))
 3817                 DAG.getSetCC(dl, VT, N0.getOperand(0),
 3818                              DAG.getConstant(LHSR->getAPIntValue() ^
 3828               DAG.getSetCC(dl, VT, N0.getOperand(1),
 3829                            DAG.getConstant(SUBC->getAPIntValue() -
 3862     AttributeList Attr = DAG.getMachineFunction().getFunction().getAttributes();
 3883       Temp = DAG.getNode(ISD::XOR, dl, OpVT, N0, N1);
 3884       N0 = DAG.getNOT(dl, Temp, OpVT);
 3889       N0 = DAG.getNode(ISD::XOR, dl, OpVT, N0, N1);
 3893       Temp = DAG.getNOT(dl, N0, OpVT);
 3894       N0 = DAG.getNode(ISD::AND, dl, OpVT, N1, Temp);
 3900       Temp = DAG.getNOT(dl, N1, OpVT);
 3901       N0 = DAG.getNode(ISD::AND, dl, OpVT, N0, Temp);
 3907       Temp = DAG.getNOT(dl, N0, OpVT);
 3908       N0 = DAG.getNode(ISD::OR, dl, OpVT, N1, Temp);
 3914       Temp = DAG.getNOT(dl, N1, OpVT);
 3915       N0 = DAG.getNode(ISD::OR, dl, OpVT, N0, Temp);
 3923       N0 = DAG.getNode(ExtendCode, dl, VT, N0);