Lines Matching refs:SDValue

48   SDValue lowerKernArgParameterPtr(SelectionDAG &DAG, const SDLoc &SL,
49 SDValue Chain, uint64_t Offset) const;
50 SDValue getImplicitArgPtr(SelectionDAG &DAG, const SDLoc &SL) const;
51 SDValue getLDSKernelId(SelectionDAG &DAG, const SDLoc &SL) const;
52 SDValue lowerKernargMemParameter(SelectionDAG &DAG, EVT VT, EVT MemVT,
53 const SDLoc &SL, SDValue Chain,
57 SDValue loadImplicitKernelArgument(SelectionDAG &DAG, MVT VT, const SDLoc &DL,
61 SDValue lowerStackParameter(SelectionDAG &DAG, CCValAssign &VA,
62 const SDLoc &SL, SDValue Chain,
64 SDValue getPreloadedValue(SelectionDAG &DAG,
69 SDValue LowerGlobalAddress(AMDGPUMachineFunction *MFI, SDValue Op,
71 SDValue lowerImplicitZextParam(SelectionDAG &DAG, SDValue Op,
73 SDValue lowerImage(SDValue Op, const AMDGPU::ImageDimIntrinsicInfo *Intr,
75 SDValue lowerSBuffer(EVT VT, SDLoc DL, SDValue Rsrc, SDValue Offset,
76 SDValue CachePolicy, SelectionDAG &DAG) const;
78 SDValue lowerRawBufferAtomicIntrin(SDValue Op, SelectionDAG &DAG,
80 SDValue lowerStructBufferAtomicIntrin(SDValue Op, SelectionDAG &DAG,
83 SDValue lowerWaveID(SelectionDAG &DAG, SDValue Op) const;
84 SDValue lowerWorkitemID(SelectionDAG &DAG, SDValue Op, unsigned Dim,
87 SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const;
88 SDValue LowerINTRINSIC_W_CHAIN(SDValue Op, SelectionDAG &DAG) const;
89 SDValue LowerINTRINSIC_VOID(SDValue Op, SelectionDAG &DAG) const;
97 std::pair<SDValue, SDValue> splitBufferOffsets(SDValue Offset,
100 SDValue widenLoad(LoadSDNode *Ld, DAGCombinerInfo &DCI) const;
101 SDValue LowerLOAD(SDValue Op, SelectionDAG &DAG) const;
102 SDValue LowerSELECT(SDValue Op, SelectionDAG &DAG) const;
103 SDValue lowerFastUnsafeFDIV(SDValue Op, SelectionDAG &DAG) const;
104 SDValue lowerFastUnsafeFDIV64(SDValue Op, SelectionDAG &DAG) const;
105 SDValue lowerFDIV_FAST(SDValue Op, SelectionDAG &DAG) const;
106 SDValue LowerFDIV16(SDValue Op, SelectionDAG &DAG) const;
107 SDValue LowerFDIV32(SDValue Op, SelectionDAG &DAG) const;
108 SDValue LowerFDIV64(SDValue Op, SelectionDAG &DAG) const;
109 SDValue LowerFDIV(SDValue Op, SelectionDAG &DAG) const;
110 SDValue LowerFFREXP(SDValue Op, SelectionDAG &DAG) const;
111 SDValue LowerSTORE(SDValue Op, SelectionDAG &DAG) const;
112 SDValue LowerTrig(SDValue Op, SelectionDAG &DAG) const;
113 SDValue lowerFSQRTF16(SDValue Op, SelectionDAG &DAG) const;
114 SDValue lowerFSQRTF32(SDValue Op, SelectionDAG &DAG) const;
115 SDValue lowerFSQRTF64(SDValue Op, SelectionDAG &DAG) const;
116 SDValue LowerATOMIC_CMP_SWAP(SDValue Op, SelectionDAG &DAG) const;
117 SDValue LowerBRCOND(SDValue Op, SelectionDAG &DAG) const;
118 SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const;
119 SDValue adjustLoadValueType(unsigned Opcode, MemSDNode *M,
120 SelectionDAG &DAG, ArrayRef<SDValue> Ops,
123 SDValue lowerIntrinsicLoad(MemSDNode *M, bool IsFormat, SelectionDAG &DAG,
124 ArrayRef<SDValue> Ops) const;
128 SDValue getMemIntrinsicNode(unsigned Opcode, const SDLoc &DL, SDVTList VTList,
129 ArrayRef<SDValue> Ops, EVT MemVT,
132 SDValue handleD16VData(SDValue VData, SelectionDAG &DAG,
137 SDValue getFPExtOrFPRound(SelectionDAG &DAG,
138 SDValue Op,
142 SDValue convertArgType(
143 SelectionDAG &DAG, EVT VT, EVT MemVT, const SDLoc &SL, SDValue Val,
147 SDValue lowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const;
148 SDValue lowerFMINNUM_FMAXNUM(SDValue Op, SelectionDAG &DAG) const;
149 SDValue lowerFLDEXP(SDValue Op, SelectionDAG &DAG) const;
150 SDValue lowerMUL(SDValue Op, SelectionDAG &DAG) const;
151 SDValue lowerXMULO(SDValue Op, SelectionDAG &DAG) const;
152 SDValue lowerXMUL_LOHI(SDValue Op, SelectionDAG &DAG) const;
154 SDValue getSegmentAperture(unsigned AS, const SDLoc &DL,
157 SDValue lowerADDRSPACECAST(SDValue Op, SelectionDAG &DAG) const;
158 SDValue lowerINSERT_SUBVECTOR(SDValue Op, SelectionDAG &DAG) const;
159 SDValue lowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
160 SDValue lowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) const;
161 SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const;
162 SDValue lowerSCALAR_TO_VECTOR(SDValue Op, SelectionDAG &DAG) const;
163 SDValue lowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) const;
165 SDValue lowerTRAP(SDValue Op, SelectionDAG &DAG) const;
166 SDValue lowerTrapEndpgm(SDValue Op, SelectionDAG &DAG) const;
167 SDValue lowerTrapHsaQueuePtr(SDValue Op, SelectionDAG &DAG) const;
168 SDValue lowerTrapHsa(SDValue Op, SelectionDAG &DAG) const;
169 SDValue lowerDEBUGTRAP(SDValue Op, SelectionDAG &DAG) const;
173 SDValue performUCharToFloatCombine(SDNode *N,
175 SDValue performFCopySignCombine(SDNode *N, DAGCombinerInfo &DCI) const;
177 SDValue performSHLPtrCombine(SDNode *N,
182 SDValue performMemSDNodeCombine(MemSDNode *N, DAGCombinerInfo &DCI) const;
184 SDValue splitBinaryBitConstantOp(DAGCombinerInfo &DCI, const SDLoc &SL,
185 unsigned Opc, SDValue LHS,
188 SDValue performAndCombine(SDNode *N, DAGCombinerInfo &DCI) const;
189 SDValue performOrCombine(SDNode *N, DAGCombinerInfo &DCI) const;
190 SDValue performXorCombine(SDNode *N, DAGCombinerInfo &DCI) const;
191 SDValue performZeroExtendCombine(SDNode *N, DAGCombinerInfo &DCI) const;
192 SDValue performSignExtendInRegCombine(SDNode *N, DAGCombinerInfo &DCI) const;
193 SDValue performClassCombine(SDNode *N, DAGCombinerInfo &DCI) const;
194 SDValue getCanonicalConstantFP(SelectionDAG &DAG, const SDLoc &SL, EVT VT,
196 SDValue performFCanonicalizeCombine(SDNode *N, DAGCombinerInfo &DCI) const;
198 SDValue performFPMed3ImmCombine(SelectionDAG &DAG, const SDLoc &SL,
199 SDValue Op0, SDValue Op1) const;
200 SDValue performIntMed3ImmCombine(SelectionDAG &DAG, const SDLoc &SL,
201 SDValue Src, SDValue MinVal, SDValue MaxVal,
203 SDValue performMinMaxCombine(SDNode *N, DAGCombinerInfo &DCI) const;
204 SDValue performFMed3Combine(SDNode *N, DAGCombinerInfo &DCI) const;
205 SDValue performCvtPkRTZCombine(SDNode *N, DAGCombinerInfo &DCI) const;
206 SDValue performExtractVectorEltCombine(SDNode *N, DAGCombinerInfo &DCI) const;
207 SDValue performInsertVectorEltCombine(SDNode *N, DAGCombinerInfo &DCI) const;
208 SDValue performFPRoundCombine(SDNode *N, DAGCombinerInfo &DCI) const;
210 SDValue reassociateScalarOps(SDNode *N, SelectionDAG &DAG) const;
213 SDValue tryFoldToMad64_32(SDNode *N, DAGCombinerInfo &DCI) const;
214 SDValue performAddCombine(SDNode *N, DAGCombinerInfo &DCI) const;
215 SDValue performAddCarrySubCarryCombine(SDNode *N, DAGCombinerInfo &DCI) const;
216 SDValue performSubCombine(SDNode *N, DAGCombinerInfo &DCI) const;
217 SDValue performFAddCombine(SDNode *N, DAGCombinerInfo &DCI) const;
218 SDValue performFSubCombine(SDNode *N, DAGCombinerInfo &DCI) const;
219 SDValue performFDivCombine(SDNode *N, DAGCombinerInfo &DCI) const;
220 SDValue performFMACombine(SDNode *N, DAGCombinerInfo &DCI) const;
221 SDValue performSetCCCombine(SDNode *N, DAGCombinerInfo &DCI) const;
222 SDValue performCvtF32UByteNCombine(SDNode *N, DAGCombinerInfo &DCI) const;
223 SDValue performClampCombine(SDNode *N, DAGCombinerInfo &DCI) const;
224 SDValue performRcpCombine(SDNode *N, DAGCombinerInfo &DCI) const;
259 void setBufferOffsets(SDValue CombinedOffset, SelectionDAG &DAG,
260 SDValue *Offsets, Align Alignment = Align(4)) const;
267 SDValue bufferRsrcPtrToVector(SDValue MaybePointer, SelectionDAG &DAG) const;
271 SDValue lowerPointerAsRsrcIntrin(SDNode *Op, SelectionDAG &DAG) const;
274 SDValue handleByteShortBufferLoads(SelectionDAG &DAG, EVT LoadVT, SDLoc DL,
275 ArrayRef<SDValue> Ops,
280 SDValue handleByteShortBufferStores(SelectionDAG &DAG, EVT VDataType,
281 SDLoc DL, SDValue Ops[],
310 SmallVectorImpl<SDValue> &Ops,
381 SDValue LowerFormalArguments(SDValue Chain, CallingConv::ID CallConv,
385 SmallVectorImpl<SDValue> &InVals) const override;
392 SDValue LowerReturn(SDValue Chain, CallingConv::ID CallConv, bool IsVarArg,
394 const SmallVectorImpl<SDValue> &OutVals, const SDLoc &DL,
401 SmallVectorImpl<std::pair<unsigned, SDValue>> &RegsToPass,
402 SmallVectorImpl<SDValue> &MemOpChains,
403 SDValue Chain) const;
405 SDValue LowerCallResult(SDValue Chain, SDValue InGlue,
409 SmallVectorImpl<SDValue> &InVals, bool isThisReturn,
410 SDValue ThisVal) const;
415 SDValue Callee, CallingConv::ID CalleeCC, bool isVarArg,
417 const SmallVectorImpl<SDValue> &OutVals,
420 SDValue LowerCall(CallLoweringInfo &CLI,
421 SmallVectorImpl<SDValue> &InVals) const override;
423 SDValue lowerDYNAMIC_STACKALLOCImpl(SDValue Op, SelectionDAG &DAG) const;
424 SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const;
425 SDValue LowerSTACKSAVE(SDValue Op, SelectionDAG &DAG) const;
426 SDValue lowerGET_ROUNDING(SDValue Op, SelectionDAG &DAG) const;
427 SDValue lowerSET_ROUNDING(SDValue Op, SelectionDAG &DAG) const;
429 SDValue lowerPREFETCH(SDValue Op, SelectionDAG &DAG) const;
430 SDValue lowerFP_EXTEND(SDValue Op, SelectionDAG &DAG) const;
431 SDValue lowerGET_FPENV(SDValue Op, SelectionDAG &DAG) const;
432 SDValue lowerSET_FPENV(SDValue Op, SelectionDAG &DAG) const;
462 SDValue splitUnaryVectorOp(SDValue Op, SelectionDAG &DAG) const;
463 SDValue splitBinaryVectorOp(SDValue Op, SelectionDAG &DAG) const;
464 SDValue splitTernaryVectorOp(SDValue Op, SelectionDAG &DAG) const;
465 SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override;
467 void ReplaceNodeResults(SDNode *N, SmallVectorImpl<SDValue> &Results,
470 SDValue PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const override;
479 SDValue Ptr) const;
480 MachineSDNode *buildRSRC(SelectionDAG &DAG, const SDLoc &DL, SDValue Ptr,
486 void LowerAsmOperandForConstraint(SDValue Op, StringRef Constraint,
487 std::vector<SDValue> &Ops,
489 bool getAsmOperandConstVal(SDValue Op, uint64_t &Val) const;
490 bool checkAsmConstraintVal(SDValue Op, StringRef Constraint,
492 bool checkAsmConstraintValA(SDValue Op,
495 SDValue copyToM0(SelectionDAG &DAG, SDValue Chain, const SDLoc &DL,
496 SDValue V) const;
500 void computeKnownBitsForTargetNode(const SDValue Op, KnownBits &Known,
521 bool isReassocProfitable(SelectionDAG &DAG, SDValue N0,
522 SDValue N1) const override;
527 bool isCanonicalized(SelectionDAG &DAG, SDValue Op,
539 bool isKnownNeverNaNForTargetNode(SDValue Op,
606 bool isBoolSGPR(SDValue V);