Lines Matching defs:SDValue
932 bool isZeroNode(SDValue Elt);
948 bool isConstantSplat(SDValue Op, APInt &SplatVal,
953 bool mayFoldLoad(SDValue Op, const X86Subtarget &Subtarget,
958 bool mayFoldLoadIntoBroadcastFromMem(SDValue Op, MVT EltVT,
964 bool mayFoldIntoStore(SDValue Op);
968 bool mayFoldIntoZeroExtend(SDValue Op);
999 SDValue getPICJumpTableRelocBase(SDValue Table,
1050 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
1055 void ReplaceNodeResults(SDNode *N, SmallVectorImpl<SDValue>&Results,
1058 SDValue PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const override;
1078 bool IsDesirableToPromoteOp(SDValue Op, EVT &PVT) const override;
1090 SDValue getNegatedExpression(SDValue Op, SelectionDAG &DAG,
1135 bool hasAndNotCompare(SDValue Y) const override;
1137 bool hasAndNot(SDValue Y) const override;
1139 bool hasBitTest(SDValue X, SDValue Y) const override;
1142 SDValue X, ConstantSDNode *XC, ConstantSDNode *CC, SDValue Y,
1160 bool shouldFoldMaskToVariableShiftPair(SDValue Y) const override;
1203 bool targetShrinkDemandedConstant(SDValue Op, const APInt &DemandedBits,
1209 void computeKnownBitsForTargetNode(const SDValue Op,
1216 unsigned ComputeNumSignBitsForTargetNode(SDValue Op,
1221 bool SimplifyDemandedVectorEltsForTargetNode(SDValue Op,
1228 bool SimplifyDemandedVectorEltsForTargetShuffle(SDValue Op,
1234 bool SimplifyDemandedBitsForTargetNode(SDValue Op,
1241 SDValue SimplifyMultipleUseDemandedBitsForTargetNode(
1242 SDValue Op, const APInt &DemandedBits, const APInt &DemandedElts,
1246 SDValue Op, const APInt &DemandedElts, const SelectionDAG &DAG,
1250 SDValue Op, const APInt &DemandedElts, const SelectionDAG &DAG,
1253 bool isSplatValueForTargetNode(SDValue Op, const APInt &DemandedElts,
1257 bool isTargetCanonicalConstantNode(SDValue Op) const override {
1272 SDValue unwrapAddress(SDValue N) const override;
1274 SDValue getReturnAddressFrameIndex(SelectionDAG &DAG) const;
1291 void LowerAsmOperandForConstraint(SDValue Op, StringRef Constraint,
1292 std::vector<SDValue> &Ops,
1303 SDValue LowerAsmOutputForConstraint(SDValue &Chain, SDValue &Flag,
1366 bool isZExtFree(SDValue Val, EVT VT2) const override;
1374 bool isVectorLoadExtDesirable(SDValue) const override;
1445 SDValue C) const override;
1455 bool shouldScalarizeBinop(SDValue) const override;
1509 SDValue emitStackGuardXorFP(SelectionDAG &DAG, SDValue Val,
1518 std::pair<SDValue, SDValue> BuildFILD(EVT DstVT, EVT SrcVT, const SDLoc &DL,
1519 SDValue Chain, SDValue Pointer,
1563 SDValue visitMaskedLoad(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
1564 MachineMemOperand *MMO, SDValue &NewLoad,
1565 SDValue Ptr, SDValue PassThru,
1566 SDValue Mask) const override;
1567 SDValue visitMaskedStore(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
1568 MachineMemOperand *MMO, SDValue Ptr, SDValue Val,
1569 SDValue Mask) const override;
1583 SDValue expandIndirectJTBranch(const SDLoc &dl, SDValue Value, SDValue Addr,
1613 SDValue LowerCallResult(SDValue Chain, SDValue InGlue,
1617 SmallVectorImpl<SDValue> &InVals,
1619 SDValue LowerMemArgument(SDValue Chain, CallingConv::ID CallConv,
1624 SDValue LowerMemOpCallTo(SDValue Chain, SDValue StackPtr, SDValue Arg,
1636 SDValue EmitTailCallLoadRetAddr(SelectionDAG &DAG, SDValue &OutRetAddr,
1637 SDValue Chain, bool IsTailCall,
1646 SDValue FP_TO_INTHelper(SDValue Op, SelectionDAG &DAG, bool IsSigned,
1647 SDValue &Chain) const;
1648 SDValue LRINT_LLRINTHelper(SDNode *N, SelectionDAG &DAG) const;
1650 SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
1651 SDValue LowerVSELECT(SDValue Op, SelectionDAG &DAG) const;
1652 SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
1653 SDValue LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
1657 SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const;
1658 SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const;
1659 SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
1660 SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
1661 SDValue LowerExternalSymbol(SDValue Op, SelectionDAG &DAG) const;
1665 SDValue LowerGlobalOrExternal(SDValue Op, SelectionDAG &DAG,
1668 SDValue LowerSINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
1669 SDValue LowerUINT_TO_FP(SDValue Op, SelectionDAG &DAG) const;
1670 SDValue LowerTRUNCATE(SDValue Op, SelectionDAG &DAG) const;
1671 SDValue LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG) const;
1672 SDValue LowerFP_TO_INT_SAT(SDValue Op, SelectionDAG &DAG) const;
1673 SDValue LowerLRINT_LLRINT(SDValue Op, SelectionDAG &DAG) const;
1674 SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG) const;
1675 SDValue LowerSETCCCARRY(SDValue Op, SelectionDAG &DAG) const;
1676 SDValue LowerSELECT(SDValue Op, SelectionDAG &DAG) const;
1677 SDValue LowerBRCOND(SDValue Op, SelectionDAG &DAG) const;
1678 SDValue LowerJumpTable(SDValue Op, SelectionDAG &DAG) const;
1679 SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
1680 SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG) const;
1681 SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) const;
1682 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
1683 SDValue LowerADDROFRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
1684 SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const;
1685 SDValue LowerFRAME_TO_ARGS_OFFSET(SDValue Op, SelectionDAG &DAG) const;
1686 SDValue LowerEH_RETURN(SDValue Op, SelectionDAG &DAG) const;
1687 SDValue lowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG) const;
1688 SDValue lowerEH_SJLJ_LONGJMP(SDValue Op, SelectionDAG &DAG) const;
1689 SDValue lowerEH_SJLJ_SETUP_DISPATCH(SDValue Op, SelectionDAG &DAG) const;
1690 SDValue LowerINIT_TRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
1691 SDValue LowerGET_ROUNDING(SDValue Op, SelectionDAG &DAG) const;
1692 SDValue LowerSET_ROUNDING(SDValue Op, SelectionDAG &DAG) const;
1693 SDValue LowerGET_FPENV_MEM(SDValue Op, SelectionDAG &DAG) const;
1694 SDValue LowerSET_FPENV_MEM(SDValue Op, SelectionDAG &DAG) const;
1695 SDValue LowerRESET_FPENV(SDValue Op, SelectionDAG &DAG) const;
1696 SDValue LowerWin64_i128OP(SDValue Op, SelectionDAG &DAG) const;
1697 SDValue LowerWin64_FP_TO_INT128(SDValue Op, SelectionDAG &DAG,
1698 SDValue &Chain) const;
1699 SDValue LowerWin64_INT128_TO_FP(SDValue Op, SelectionDAG &DAG) const;
1700 SDValue LowerGC_TRANSITION(SDValue Op, SelectionDAG &DAG) const;
1701 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
1702 SDValue lowerFaddFsub(SDValue Op, SelectionDAG &DAG) const;
1703 SDValue LowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const;
1704 SDValue LowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const;
1705 SDValue LowerFP_TO_BF16(SDValue Op, SelectionDAG &DAG) const;
1707 SDValue
1708 LowerFormalArguments(SDValue Chain, CallingConv::ID CallConv, bool isVarArg,
1711 SmallVectorImpl<SDValue> &InVals) const override;
1712 SDValue LowerCall(CallLoweringInfo &CLI,
1713 SmallVectorImpl<SDValue> &InVals) const override;
1715 SDValue LowerReturn(SDValue Chain, CallingConv::ID CallConv, bool isVarArg,
1717 const SmallVectorImpl<SDValue> &OutVals,
1729 bool isUsedByReturnOnly(SDNode *N, SDValue &Chain) const override;
1813 SDValue emitFlagsForSetcc(SDValue Op0, SDValue Op1, ISD::CondCode CC,
1815 SDValue &X86CC) const;
1817 bool optimizeFMulOrFDivAsShiftAddBitcast(SDNode *N, SDValue FPConst,
1818 SDValue IntPow2) const override;
1821 bool isFsqrtCheap(SDValue Op, SelectionDAG &DAG) const override;
1824 SDValue getSqrtEstimate(SDValue Op, SelectionDAG &DAG, int Enabled,
1829 SDValue getRecipEstimate(SDValue Op, SelectionDAG &DAG, int Enabled,
1835 SDValue BuildSDIVPow2(SDNode *N, const APInt &Divisor, SelectionDAG &DAG,
1838 SDValue getMOVL(SelectionDAG &DAG, const SDLoc &dl, MVT VT, SDValue V1,
1839 SDValue V2) const;
1856 const SDValue &getBasePtr() const { return getOperand(3); }
1857 const SDValue &getIndex() const { return getOperand(4); }
1858 const SDValue &getMask() const { return getOperand(2); }
1859 const SDValue &getScale() const { return getOperand(5); }
1869 const SDValue &getPassThru() const { return getOperand(1); }
1878 const SDValue &getValue() const { return getOperand(1); }