|
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);
3078 return DAG.getSetCC(dl, VT, N1, N0, SwappedCC);
3102 return DAG.getSetCC(dl, VT, N0.getOperand(0).getOperand(0),
3125 return DAG.getSetCC(dl, VT, And, DAG.getConstant(0, dl, CTVT), CC);
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);
3195 return DAG.getSetCC(dl, VT, Trunc, DAG.getConstant(0, dl, MVT::i1),
3198 return DAG.getSetCC(dl, VT, Trunc, C, Cond);
3212 if (TopSetCC.getValueType() == MVT::i1 && VT == MVT::i1 &&
3227 return DAG.getSetCC(dl, VT, TopSetCC.getOperand(0),
3284 return DAG.getSetCC(dl, VT,
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);
3341 return DAG.getBoolExtOrTrunc(NewSetCC, dl, VT, N0.getValueType());
3358 return DAG.getConstant(Cond == ISD::SETNE, dl, VT);
3372 return DAG.getSetCC(dl, VT, ZextOp,
3382 isTypeLegal(VT) && VT.bitsLE(N0.getValueType()) &&
3382 isTypeLegal(VT) && VT.bitsLE(N0.getValueType()) &&
3388 return DAG.getNode(ISD::TRUNCATE, dl, VT, N0);
3395 return DAG.getSetCC(dl, VT, N0.getOperand(0), N0.getOperand(1), CC);
3423 return DAG.getSetCC(dl, VT, Val, N1,
3427 (VT == MVT::i1 ||
3439 return DAG.getSetCC(dl, VT, Op0.getOperand(0), Op0.getOperand(1),
3446 if (Op0.getValueType().bitsGT(VT))
3447 Op0 = DAG.getNode(ISD::AND, dl, VT,
3448 DAG.getNode(ISD::TRUNCATE, dl, VT, Op0.getOperand(0)),
3449 DAG.getConstant(1, dl, VT));
3450 else if (Op0.getValueType().bitsLT(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,
3461 return DAG.getSetCC(dl, VT, Op0,
3476 return DAG.getSetCC(dl, VT, N0.getOperand(0), N1, Cond);
3480 optimizeSetCCOfSignedTruncationCheck(VT, N0, N1, Cond, DCI, dl))
3503 return DAG.getBoolConstant(true, dl, VT, OpVT);
3505 if (!VT.isVector()) { // TODO: Support this for vectors.
3510 isCondCodeLegal(NewCC, VT.getSimpleVT())) &&
3513 return DAG.getSetCC(dl, VT, N0,
3523 return DAG.getBoolConstant(true, dl, VT, OpVT);
3526 if (!VT.isVector()) { // TODO: Support this for vectors.
3530 isCondCodeLegal(NewCC, VT.getSimpleVT())) &&
3533 return DAG.getSetCC(dl, VT, N0,
3542 return DAG.getBoolConstant(false, dl, VT, OpVT); // X < MIN --> false
3545 if (!VT.isVector() || DCI.isBeforeLegalizeOps()) {
3548 return DAG.getSetCC(dl, VT, N0, N1, ISD::SETNE);
3552 return DAG.getSetCC(dl, VT, N0,
3560 return DAG.getBoolConstant(false, dl, VT, OpVT); // X > MAX --> false
3563 if (!VT.isVector() || DCI.isBeforeLegalizeOps()) {
3566 return DAG.getSetCC(dl, VT, N0, N1, ISD::SETNE);
3570 return DAG.getSetCC(dl, VT, N0,
3580 VT, N0, N1, Cond, DCI, dl))
3587 if (!VT.isVector() || DCI.isBeforeLegalizeOps()) {
3591 return DAG.getSetCC(dl, VT, N0,
3601 return DAG.getSetCC(dl, VT, N0, ConstMinusOne, ISD::SETGT);
3615 (VT == ShValTy || (isTypeLegal(VT) && VT.bitsLE(ShValTy))) &&
3615 (VT == ShValTy || (isTypeLegal(VT) && VT.bitsLE(ShValTy))) &&
3615 (VT == ShValTy || (isTypeLegal(VT) && VT.bitsLE(ShValTy))) &&
3625 return DAG.getNode(ISD::TRUNCATE, dl, VT,
3635 return DAG.getNode(ISD::TRUNCATE, dl, VT,
3660 return DAG.getSetCC(dl, VT, Shift, CmpRHS, Cond);
3690 return DAG.getSetCC(dl, VT, Shift, CmpRHS, NewCond);
3705 return DAG.getSetCC(dl, VT, N0, N0, Cond);
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),
3817 DAG.getSetCC(dl, VT, N0.getOperand(0),
3828 DAG.getSetCC(dl, VT, N0.getOperand(1),
3846 if (SDValue V = foldSetCCWithBinOp(VT, N0, N1, Cond, dl, DCI))
3852 if (SDValue V = foldSetCCWithBinOp(VT, N1, N0, Cond, dl, DCI))
3855 if (SDValue V = foldSetCCWithAnd(VT, N0, N1, Cond, dl, DCI))
3866 if (!isIntDivCheap(VT, Attr) && !Attr.hasFnAttribute(Attribute::MinSize)) {
3868 if (SDValue Folded = buildUREMEqFold(VT, N0, N1, Cond, DCI, dl))
3871 if (SDValue Folded = buildSREMEqFold(VT, N0, N1, Cond, DCI, dl))
3918 if (VT.getScalarType() != MVT::i1) {
3923 N0 = DAG.getNode(ExtendCode, dl, VT, N0);