Lines Matching refs:DAG
25 SelectionDAG &DAG, const SDLoc &DL, in EmitMOPS() argument
55 MachineFunction &MF = DAG.getMachineFunction(); in EmitMOPS()
66 SrcOrValue = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, SrcOrValue); in EmitMOPS()
69 MachineSDNode *Node = DAG.getMachineNode(MachineOpcode, DL, ResultTys, Ops); in EmitMOPS()
70 DAG.setNodeMemRefs(Node, {DstOp}); in EmitMOPS()
75 MachineSDNode *Node = DAG.getMachineNode(MachineOpcode, DL, ResultTys, Ops); in EmitMOPS()
80 DAG.setNodeMemRefs(Node, {DstOp, SrcOp}); in EmitMOPS()
86 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Src, in EmitStreamingCompatibleMemLibCall() argument
89 DAG.getMachineFunction().getSubtarget<AArch64Subtarget>(); in EmitStreamingCompatibleMemLibCall()
93 DstEntry.Ty = PointerType::getUnqual(*DAG.getContext()); in EmitStreamingCompatibleMemLibCall()
97 EVT PointerVT = TLI->getPointerTy(DAG.getDataLayout()); in EmitStreamingCompatibleMemLibCall()
102 Entry.Ty = PointerType::getUnqual(*DAG.getContext()); in EmitStreamingCompatibleMemLibCall()
103 Symbol = DAG.getExternalSymbol("__arm_sc_memcpy", PointerVT); in EmitStreamingCompatibleMemLibCall()
110 Entry.Ty = PointerType::getUnqual(*DAG.getContext()); in EmitStreamingCompatibleMemLibCall()
111 Symbol = DAG.getExternalSymbol("__arm_sc_memmove", PointerVT); in EmitStreamingCompatibleMemLibCall()
118 Entry.Ty = Type::getInt32Ty(*DAG.getContext()); in EmitStreamingCompatibleMemLibCall()
119 Symbol = DAG.getExternalSymbol("__arm_sc_memset", PointerVT); in EmitStreamingCompatibleMemLibCall()
120 Src = DAG.getZExtOrTrunc(Src, DL, MVT::i32); in EmitStreamingCompatibleMemLibCall()
131 SizeEntry.Ty = DAG.getDataLayout().getIntPtrType(*DAG.getContext()); in EmitStreamingCompatibleMemLibCall()
136 TargetLowering::CallLoweringInfo CLI(DAG); in EmitStreamingCompatibleMemLibCall()
137 PointerType *RetTy = PointerType::getUnqual(*DAG.getContext()); in EmitStreamingCompatibleMemLibCall()
144 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Src, in EmitTargetCodeForMemcpy() argument
148 DAG.getMachineFunction().getSubtarget<AArch64Subtarget>(); in EmitTargetCodeForMemcpy()
151 return EmitMOPS(AArch64ISD::MOPS_MEMCOPY, DAG, DL, Chain, Dst, Src, Size, in EmitTargetCodeForMemcpy()
154 SMEAttrs Attrs(DAG.getMachineFunction().getFunction()); in EmitTargetCodeForMemcpy()
156 return EmitStreamingCompatibleMemLibCall(DAG, DL, Chain, Dst, Src, Size, in EmitTargetCodeForMemcpy()
162 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src, in EmitTargetCodeForMemset() argument
166 DAG.getMachineFunction().getSubtarget<AArch64Subtarget>(); in EmitTargetCodeForMemset()
169 return EmitMOPS(AArch64ISD::MOPS_MEMSET, DAG, dl, Chain, Dst, Src, Size, in EmitTargetCodeForMemset()
172 SMEAttrs Attrs(DAG.getMachineFunction().getFunction()); in EmitTargetCodeForMemset()
174 return EmitStreamingCompatibleMemLibCall(DAG, dl, Chain, Dst, Src, Size, in EmitTargetCodeForMemset()
180 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src, in EmitTargetCodeForMemmove() argument
184 DAG.getMachineFunction().getSubtarget<AArch64Subtarget>(); in EmitTargetCodeForMemmove()
187 return EmitMOPS(AArch64ISD::MOPS_MEMMOVE, DAG, dl, Chain, Dst, Src, Size, in EmitTargetCodeForMemmove()
190 SMEAttrs Attrs(DAG.getMachineFunction().getFunction()); in EmitTargetCodeForMemmove()
192 return EmitStreamingCompatibleMemLibCall(DAG, dl, Chain, Dst, Src, Size, in EmitTargetCodeForMemmove()
199 static SDValue EmitUnrolledSetTag(SelectionDAG &DAG, const SDLoc &dl, in EmitUnrolledSetTag() argument
203 MachineFunction &MF = DAG.getMachineFunction(); in EmitUnrolledSetTag()
209 Ptr = DAG.getTargetFrameIndex(FI, MVT::i64); in EmitUnrolledSetTag()
212 TagSrc = DAG.getRegister(AArch64::SP, MVT::i64); in EmitUnrolledSetTag()
222 SDValue AddrNode = DAG.getMemBasePlusOffset( in EmitUnrolledSetTag()
224 SDValue St = DAG.getMemIntrinsicNode( in EmitUnrolledSetTag()
225 OpCode2, dl, DAG.getVTList(MVT::Other), in EmitUnrolledSetTag()
235 SDValue AddrNode = DAG.getMemBasePlusOffset( in EmitUnrolledSetTag()
237 SDValue St = DAG.getMemIntrinsicNode( in EmitUnrolledSetTag()
238 OpCode1, dl, DAG.getVTList(MVT::Other), in EmitUnrolledSetTag()
247 SDValue Res = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, OutChains); in EmitUnrolledSetTag()
252 SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Addr, in EmitTargetCodeForSetTag() argument
257 MachineFunction &MF = DAG.getMachineFunction(); in EmitTargetCodeForSetTag()
264 return EmitUnrolledSetTag(DAG, dl, Chain, Addr, ObjSize, BaseMemOperand, in EmitTargetCodeForSetTag()
272 Addr = DAG.getTargetFrameIndex(FI, MVT::i64); in EmitTargetCodeForSetTag()
277 SDValue Ops[] = {DAG.getTargetConstant(ObjSize, dl, MVT::i64), Addr, Chain}; in EmitTargetCodeForSetTag()
278 SDNode *St = DAG.getMachineNode(Opcode, dl, ResTys, Ops); in EmitTargetCodeForSetTag()
280 DAG.setNodeMemRefs(cast<MachineSDNode>(St), {BaseMemOperand}); in EmitTargetCodeForSetTag()