Lines Matching refs:DL

21 SystemZSelectionDAGInfo::SystemZSelectionDAGInfo(const DataLayout &DL)  in SystemZSelectionDAGInfo()  argument
22 : TargetSelectionDAGInfo(&DL) {} in SystemZSelectionDAGInfo()
32 static SDValue emitMemMem(SelectionDAG &DAG, SDLoc DL, unsigned Sequence, in emitMemMem() argument
48 return DAG.getNode(Loop, DL, MVT::Other, Chain, Dst, Src, in emitMemMem()
51 return DAG.getNode(Sequence, DL, MVT::Other, Chain, Dst, Src, in emitMemMem()
56 EmitTargetCodeForMemcpy(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in EmitTargetCodeForMemcpy() argument
65 return emitMemMem(DAG, DL, SystemZISD::MVC, SystemZISD::MVC_LOOP, in EmitTargetCodeForMemcpy()
73 static SDValue memsetStore(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in memsetStore() argument
80 return DAG.getStore(Chain, DL, in memsetStore()
86 EmitTargetCodeForMemset(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in EmitTargetCodeForMemset() argument
110 SDValue Chain1 = memsetStore(DAG, DL, Chain, Dst, ByteVal, Size1, in EmitTargetCodeForMemset()
114 Dst = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
117 SDValue Chain2 = memsetStore(DAG, DL, Chain, Dst, ByteVal, Size2, in EmitTargetCodeForMemset()
119 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chain1, Chain2); in EmitTargetCodeForMemset()
124 SDValue Chain1 = DAG.getStore(Chain, DL, Byte, Dst, DstPtrInfo, in EmitTargetCodeForMemset()
128 SDValue Dst2 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
130 SDValue Chain2 = DAG.getStore(Chain, DL, Byte, Dst2, in EmitTargetCodeForMemset()
133 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chain1, Chain2); in EmitTargetCodeForMemset()
141 return emitMemMem(DAG, DL, SystemZISD::XC, SystemZISD::XC_LOOP, in EmitTargetCodeForMemset()
146 Chain = DAG.getStore(Chain, DL, Byte, Dst, DstPtrInfo, in EmitTargetCodeForMemset()
148 SDValue DstPlus1 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
150 return emitMemMem(DAG, DL, SystemZISD::MVC, SystemZISD::MVC_LOOP, in EmitTargetCodeForMemset()
158 static SDValue emitCLC(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in emitCLC() argument
171 return DAG.getNode(SystemZISD::CLC_LOOP, DL, VTs, Chain, Src1, Src2, in emitCLC()
174 return DAG.getNode(SystemZISD::CLC, DL, VTs, Chain, Src1, Src2, in emitCLC()
182 static SDValue addIPMSequence(SDLoc DL, SDValue Glue, SelectionDAG &DAG) { in addIPMSequence() argument
183 SDValue IPM = DAG.getNode(SystemZISD::IPM, DL, MVT::i32, Glue); in addIPMSequence()
184 SDValue SRL = DAG.getNode(ISD::SRL, DL, MVT::i32, IPM, in addIPMSequence()
186 SDValue ROTL = DAG.getNode(ISD::ROTL, DL, MVT::i32, SRL, in addIPMSequence()
192 EmitTargetCodeForMemcmp(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in EmitTargetCodeForMemcmp() argument
199 Chain = emitCLC(DAG, DL, Chain, Src1, Src2, Bytes); in EmitTargetCodeForMemcmp()
201 return std::make_pair(addIPMSequence(DL, Glue, DAG), Chain); in EmitTargetCodeForMemcmp()
207 EmitTargetCodeForMemchr(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in EmitTargetCodeForMemchr() argument
213 Length = DAG.getZExtOrTrunc(Length, DL, PtrVT); in EmitTargetCodeForMemchr()
214 Char = DAG.getZExtOrTrunc(Char, DL, MVT::i32); in EmitTargetCodeForMemchr()
215 Char = DAG.getNode(ISD::AND, DL, MVT::i32, Char, in EmitTargetCodeForMemchr()
217 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, Length); in EmitTargetCodeForMemchr()
218 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain, in EmitTargetCodeForMemchr()
229 End = DAG.getNode(SystemZISD::SELECT_CCMASK, DL, VTs, Ops); in EmitTargetCodeForMemchr()
234 EmitTargetCodeForStrcpy(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in EmitTargetCodeForStrcpy() argument
239 SDValue EndDest = DAG.getNode(SystemZISD::STPCPY, DL, VTs, Chain, Dest, Src, in EmitTargetCodeForStrcpy()
245 EmitTargetCodeForStrcmp(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in EmitTargetCodeForStrcmp() argument
250 SDValue Unused = DAG.getNode(SystemZISD::STRCMP, DL, VTs, Chain, Src1, Src2, in EmitTargetCodeForStrcmp()
254 return std::make_pair(addIPMSequence(DL, Glue, DAG), Chain); in EmitTargetCodeForStrcmp()
262 static std::pair<SDValue, SDValue> getBoundedStrlen(SelectionDAG &DAG, SDLoc DL, in getBoundedStrlen() argument
267 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain, in getBoundedStrlen()
270 SDValue Len = DAG.getNode(ISD::SUB, DL, PtrVT, End, Src); in getBoundedStrlen()
275 EmitTargetCodeForStrlen(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in EmitTargetCodeForStrlen() argument
278 return getBoundedStrlen(DAG, DL, Chain, Src, DAG.getConstant(0, PtrVT)); in EmitTargetCodeForStrlen()
282 EmitTargetCodeForStrnlen(SelectionDAG &DAG, SDLoc DL, SDValue Chain, in EmitTargetCodeForStrnlen() argument
286 MaxLength = DAG.getZExtOrTrunc(MaxLength, DL, PtrVT); in EmitTargetCodeForStrnlen()
287 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, MaxLength); in EmitTargetCodeForStrnlen()
288 return getBoundedStrlen(DAG, DL, Chain, Src, Limit); in EmitTargetCodeForStrnlen()