|
reference, declaration → definition
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);