Lines Matching refs:DAG
85 DebugLoc dl, SelectionDAG &DAG) const { in LowerReturn()
87 MachineFunction &MF = DAG.getMachineFunction(); in LowerReturn()
93 CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), in LowerReturn()
94 DAG.getTarget(), RVLocs, *DAG.getContext()); in LowerReturn()
114 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), in LowerReturn()
128 SDValue Val = DAG.getCopyFromReg(Chain, dl, Reg, getPointerTy()); in LowerReturn()
129 Chain = DAG.getCopyToReg(Chain, dl, SP::I0, Val, Flag); in LowerReturn()
136 SDValue RetAddrOffsetNode = DAG.getConstant(RetAddrOffset, MVT::i32); in LowerReturn()
139 return DAG.getNode(SPISD::RET_FLAG, dl, MVT::Other, Chain, in LowerReturn()
141 return DAG.getNode(SPISD::RET_FLAG, dl, MVT::Other, Chain, in LowerReturn()
153 DebugLoc dl, SelectionDAG &DAG, in LowerFormalArguments() argument
157 MachineFunction &MF = DAG.getMachineFunction(); in LowerFormalArguments()
163 CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), in LowerFormalArguments()
164 getTargetMachine(), ArgLocs, *DAG.getContext()); in LowerFormalArguments()
175 SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32); in LowerFormalArguments()
176 SDValue Arg = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, in LowerFormalArguments()
188 SDValue HiVal = DAG.getCopyFromReg(Chain, dl, VRegHi, MVT::i32); in LowerFormalArguments()
197 SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32); in LowerFormalArguments()
198 LoVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, in LowerFormalArguments()
204 LoVal = DAG.getCopyFromReg(Chain, dl, loReg, MVT::i32); in LowerFormalArguments()
207 DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, LoVal, HiVal); in LowerFormalArguments()
208 WholeValue = DAG.getNode(ISD::BITCAST, dl, MVT::f64, WholeValue); in LowerFormalArguments()
214 SDValue Arg = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i32); in LowerFormalArguments()
216 Arg = DAG.getNode(ISD::BITCAST, dl, MVT::f32, Arg); in LowerFormalArguments()
218 Arg = DAG.getNode(ISD::AssertSext, dl, MVT::i32, Arg, in LowerFormalArguments()
219 DAG.getValueType(VA.getLocVT())); in LowerFormalArguments()
220 Arg = DAG.getNode(ISD::TRUNCATE, dl, VA.getLocVT(), Arg); in LowerFormalArguments()
237 SDValue FIPtr = DAG.getFrameIndex(FI, getPointerTy()); in LowerFormalArguments()
238 SDValue Load = DAG.getLoad(VA.getValVT(), dl, Chain, FIPtr, in LowerFormalArguments()
248 SDValue FIPtr = DAG.getFrameIndex(FI, getPointerTy()); in LowerFormalArguments()
249 SDValue HiVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, in LowerFormalArguments()
255 SDValue FIPtr2 = DAG.getFrameIndex(FI2, getPointerTy()); in LowerFormalArguments()
257 SDValue LoVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr2, in LowerFormalArguments()
262 DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, LoVal, HiVal); in LowerFormalArguments()
263 WholeValue = DAG.getNode(ISD::BITCAST, dl, MVT::f64, WholeValue); in LowerFormalArguments()
271 SDValue FIPtr = DAG.getFrameIndex(FI, getPointerTy()); in LowerFormalArguments()
274 Load = DAG.getLoad(VA.getValVT(), dl, Chain, FIPtr, in LowerFormalArguments()
281 FIPtr = DAG.getNode(ISD::ADD, dl, MVT::i32, FIPtr, in LowerFormalArguments()
282 DAG.getConstant(Offset, MVT::i32)); in LowerFormalArguments()
283 Load = DAG.getExtLoad(LoadOp, dl, MVT::i32, Chain, FIPtr, in LowerFormalArguments()
286 Load = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), Load); in LowerFormalArguments()
299 SDValue Copy = DAG.getCopyToReg(DAG.getEntryNode(), dl, Reg, InVals[0]); in LowerFormalArguments()
300 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Copy, Chain); in LowerFormalArguments()
326 SDValue Arg = DAG.getCopyFromReg(DAG.getRoot(), dl, VReg, MVT::i32); in LowerFormalArguments()
330 SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32); in LowerFormalArguments()
332 OutChains.push_back(DAG.getStore(DAG.getRoot(), dl, Arg, FIPtr, in LowerFormalArguments()
340 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in LowerFormalArguments()
355 DebugLoc dl, SelectionDAG &DAG, in LowerCall() argument
362 CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), in LowerCall()
363 DAG.getTarget(), ArgLocs, *DAG.getContext()); in LowerCall()
372 MachineFrameInfo *MFI = DAG.getMachineFunction().getFrameInfo(); in LowerCall()
386 SDValue FIPtr = DAG.getFrameIndex(FI, getPointerTy()); in LowerCall()
387 SDValue SizeNode = DAG.getConstant(Size, MVT::i32); in LowerCall()
389 Chain = DAG.getMemcpy(Chain, dl, FIPtr, Arg, SizeNode, Align, in LowerCall()
396 Chain = DAG.getCALLSEQ_START(Chain, DAG.getIntPtrConstant(ArgsSize, true)); in LowerCall()
421 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg); in LowerCall()
424 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg); in LowerCall()
427 Arg = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Arg); in LowerCall()
430 Arg = DAG.getNode(ISD::BITCAST, dl, VA.getLocVT(), Arg); in LowerCall()
437 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32); in LowerCall()
438 SDValue PtrOff = DAG.getIntPtrConstant(64); in LowerCall()
439 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff); in LowerCall()
440 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall()
454 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32); in LowerCall()
455 SDValue PtrOff = DAG.getIntPtrConstant(Offset); in LowerCall()
456 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff); in LowerCall()
457 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall()
464 SDValue StackPtr = DAG.CreateStackTemporary(MVT::f64, MVT::i32); in LowerCall()
465 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, in LowerCall()
469 SDValue Hi = DAG.getLoad(MVT::i32, dl, Store, StackPtr, in LowerCall()
472 StackPtr = DAG.getNode(ISD::ADD, dl, StackPtr.getValueType(), StackPtr, in LowerCall()
473 DAG.getIntPtrConstant(4)); in LowerCall()
475 SDValue Lo = DAG.getLoad(MVT::i32, dl, Store, StackPtr, in LowerCall()
487 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32); in LowerCall()
488 SDValue PtrOff = DAG.getIntPtrConstant(Offset); in LowerCall()
489 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff); in LowerCall()
490 MemOpChains.push_back(DAG.getStore(Chain, dl, Lo, PtrOff, in LowerCall()
497 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32); in LowerCall()
498 SDValue PtrOff = DAG.getIntPtrConstant(Offset); in LowerCall()
499 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff); in LowerCall()
500 MemOpChains.push_back(DAG.getStore(Chain, dl, Hi, PtrOff, in LowerCall()
504 PtrOff = DAG.getIntPtrConstant(Offset+4); in LowerCall()
505 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff); in LowerCall()
506 MemOpChains.push_back(DAG.getStore(Chain, dl, Lo, PtrOff, in LowerCall()
520 Arg = DAG.getNode(ISD::BITCAST, dl, MVT::i32, Arg); in LowerCall()
528 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32); in LowerCall()
529 SDValue PtrOff = DAG.getIntPtrConstant(VA.getLocMemOffset()+StackOffset); in LowerCall()
530 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff); in LowerCall()
531 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall()
539 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in LowerCall()
553 Chain = DAG.getCopyToReg(Chain, dl, Reg, RegsToPass[i].second, InFlag); in LowerCall()
557 unsigned SRetArgSize = (hasStructRetAttr)? getSRetArgSize(DAG, Callee):0; in LowerCall()
563 Callee = DAG.getTargetGlobalAddress(G->getGlobal(), dl, MVT::i32); in LowerCall()
565 Callee = DAG.getTargetExternalSymbol(E->getSymbol(), MVT::i32); in LowerCall()
568 SDVTList NodeTys = DAG.getVTList(MVT::Other, MVT::Glue); in LowerCall()
573 Ops.push_back(DAG.getTargetConstant(SRetArgSize, MVT::i32)); in LowerCall()
579 Ops.push_back(DAG.getRegister(Reg, RegsToPass[i].second.getValueType())); in LowerCall()
584 Chain = DAG.getNode(SPISD::CALL, dl, NodeTys, &Ops[0], Ops.size()); in LowerCall()
587 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(ArgsSize, true), in LowerCall()
588 DAG.getIntPtrConstant(0, true), InFlag); in LowerCall()
593 CCState RVInfo(CallConv, isVarArg, DAG.getMachineFunction(), in LowerCall()
594 DAG.getTarget(), RVLocs, *DAG.getContext()); in LowerCall()
606 Chain = DAG.getCopyFromReg(Chain, dl, Reg, in LowerCall()
616 SparcTargetLowering::getSRetArgSize(SelectionDAG &DAG, SDValue Callee) const in getSRetArgSize() argument
623 const Function *Fn = DAG.getMachineFunction().getFunction(); in getSRetArgSize()
835 const SelectionDAG &DAG, in computeMaskedBitsForTargetNode() argument
844 DAG.ComputeMaskedBits(Op.getOperand(1), Mask, KnownZero, KnownOne, in computeMaskedBitsForTargetNode()
846 DAG.ComputeMaskedBits(Op.getOperand(0), Mask, KnownZero2, KnownOne2, in computeMaskedBitsForTargetNode()
881 SelectionDAG &DAG) const { in LowerGlobalAddress()
885 SDValue GA = DAG.getTargetGlobalAddress(GV, dl, MVT::i32); in LowerGlobalAddress()
886 SDValue Hi = DAG.getNode(SPISD::Hi, dl, MVT::i32, GA); in LowerGlobalAddress()
887 SDValue Lo = DAG.getNode(SPISD::Lo, dl, MVT::i32, GA); in LowerGlobalAddress()
890 return DAG.getNode(ISD::ADD, dl, MVT::i32, Lo, Hi); in LowerGlobalAddress()
892 SDValue GlobalBase = DAG.getNode(SPISD::GLOBAL_BASE_REG, dl, in LowerGlobalAddress()
894 SDValue RelAddr = DAG.getNode(ISD::ADD, dl, MVT::i32, Lo, Hi); in LowerGlobalAddress()
895 SDValue AbsAddr = DAG.getNode(ISD::ADD, dl, MVT::i32, in LowerGlobalAddress()
897 return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(), in LowerGlobalAddress()
902 SelectionDAG &DAG) const { in LowerConstantPool()
907 SDValue CP = DAG.getTargetConstantPool(C, MVT::i32, N->getAlignment()); in LowerConstantPool()
908 SDValue Hi = DAG.getNode(SPISD::Hi, dl, MVT::i32, CP); in LowerConstantPool()
909 SDValue Lo = DAG.getNode(SPISD::Lo, dl, MVT::i32, CP); in LowerConstantPool()
911 return DAG.getNode(ISD::ADD, dl, MVT::i32, Lo, Hi); in LowerConstantPool()
913 SDValue GlobalBase = DAG.getNode(SPISD::GLOBAL_BASE_REG, dl, in LowerConstantPool()
915 SDValue RelAddr = DAG.getNode(ISD::ADD, dl, MVT::i32, Lo, Hi); in LowerConstantPool()
916 SDValue AbsAddr = DAG.getNode(ISD::ADD, dl, MVT::i32, in LowerConstantPool()
918 return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(), in LowerConstantPool()
922 static SDValue LowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG) { in LowerFP_TO_SINT() argument
926 Op = DAG.getNode(SPISD::FTOI, dl, MVT::f32, Op.getOperand(0)); in LowerFP_TO_SINT()
927 return DAG.getNode(ISD::BITCAST, dl, MVT::i32, Op); in LowerFP_TO_SINT()
930 static SDValue LowerSINT_TO_FP(SDValue Op, SelectionDAG &DAG) { in LowerSINT_TO_FP() argument
933 SDValue Tmp = DAG.getNode(ISD::BITCAST, dl, MVT::f32, Op.getOperand(0)); in LowerSINT_TO_FP()
935 return DAG.getNode(SPISD::ITOF, dl, Op.getValueType(), Tmp); in LowerSINT_TO_FP()
938 static SDValue LowerBR_CC(SDValue Op, SelectionDAG &DAG) { in LowerBR_CC() argument
958 CompareFlag = DAG.getNode(SPISD::CMPICC, dl, VTs, Ops, 2).getValue(1); in LowerBR_CC()
962 CompareFlag = DAG.getNode(SPISD::CMPFCC, dl, MVT::Glue, LHS, RHS); in LowerBR_CC()
966 return DAG.getNode(Opc, dl, MVT::Other, Chain, Dest, in LowerBR_CC()
967 DAG.getConstant(SPCC, MVT::i32), CompareFlag); in LowerBR_CC()
970 static SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) { in LowerSELECT_CC() argument
989 CompareFlag = DAG.getNode(SPISD::CMPICC, dl, VTs, Ops, 2).getValue(1); in LowerSELECT_CC()
993 CompareFlag = DAG.getNode(SPISD::CMPFCC, dl, MVT::Glue, LHS, RHS); in LowerSELECT_CC()
997 return DAG.getNode(Opc, dl, TrueVal.getValueType(), TrueVal, FalseVal, in LowerSELECT_CC()
998 DAG.getConstant(SPCC, MVT::i32), CompareFlag); in LowerSELECT_CC()
1001 static SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG, in LowerVASTART() argument
1003 MachineFunction &MF = DAG.getMachineFunction(); in LowerVASTART()
1010 DAG.getNode(ISD::ADD, dl, MVT::i32, in LowerVASTART()
1011 DAG.getRegister(SP::I6, MVT::i32), in LowerVASTART()
1012 DAG.getConstant(FuncInfo->getVarArgsFrameOffset(), in LowerVASTART()
1015 return DAG.getStore(Op.getOperand(0), dl, Offset, Op.getOperand(1), in LowerVASTART()
1019 static SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) { in LowerVAARG() argument
1026 SDValue VAList = DAG.getLoad(MVT::i32, dl, InChain, VAListPtr, in LowerVAARG()
1029 SDValue NextPtr = DAG.getNode(ISD::ADD, dl, MVT::i32, VAList, in LowerVAARG()
1030 DAG.getConstant(VT.getSizeInBits()/8, in LowerVAARG()
1033 InChain = DAG.getStore(VAList.getValue(1), dl, NextPtr, in LowerVAARG()
1038 return DAG.getLoad(VT, dl, InChain, VAList, MachinePointerInfo(), in LowerVAARG()
1042 SDValue V = DAG.getLoad(MVT::i64, dl, InChain, VAList, MachinePointerInfo(), in LowerVAARG()
1047 DAG.getNode(ISD::BITCAST, dl, MVT::f64, V), in LowerVAARG()
1050 return DAG.getMergeValues(Ops, 2, dl); in LowerVAARG()
1053 static SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) { in LowerDYNAMIC_STACKALLOC() argument
1059 SDValue SP = DAG.getCopyFromReg(Chain, dl, SPReg, MVT::i32); in LowerDYNAMIC_STACKALLOC()
1060 SDValue NewSP = DAG.getNode(ISD::SUB, dl, MVT::i32, SP, Size); // Value in LowerDYNAMIC_STACKALLOC()
1061 Chain = DAG.getCopyToReg(SP.getValue(1), dl, SPReg, NewSP); // Output chain in LowerDYNAMIC_STACKALLOC()
1065 SDValue NewVal = DAG.getNode(ISD::ADD, dl, MVT::i32, NewSP, in LowerDYNAMIC_STACKALLOC()
1066 DAG.getConstant(96, MVT::i32)); in LowerDYNAMIC_STACKALLOC()
1068 return DAG.getMergeValues(Ops, 2, dl); in LowerDYNAMIC_STACKALLOC()
1072 static SDValue getFLUSHW(SDValue Op, SelectionDAG &DAG) { in getFLUSHW() argument
1074 SDValue Chain = DAG.getNode(SPISD::FLUSHW, in getFLUSHW()
1075 dl, MVT::Other, DAG.getEntryNode()); in getFLUSHW()
1079 static SDValue LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) { in LowerFRAMEADDR() argument
1080 MachineFrameInfo *MFI = DAG.getMachineFunction().getFrameInfo(); in LowerFRAMEADDR()
1091 FrameAddr = DAG.getCopyFromReg(DAG.getEntryNode(), dl, FrameReg, VT); in LowerFRAMEADDR()
1094 SDValue Chain = getFLUSHW(Op, DAG); in LowerFRAMEADDR()
1095 FrameAddr = DAG.getCopyFromReg(Chain, dl, FrameReg, VT); in LowerFRAMEADDR()
1098 SDValue Ptr = DAG.getNode(ISD::ADD, in LowerFRAMEADDR()
1100 FrameAddr, DAG.getIntPtrConstant(56)); in LowerFRAMEADDR()
1101 FrameAddr = DAG.getLoad(MVT::i32, dl, in LowerFRAMEADDR()
1110 static SDValue LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) { in LowerRETURNADDR() argument
1111 MachineFrameInfo *MFI = DAG.getMachineFunction().getFrameInfo(); in LowerRETURNADDR()
1122 RetAddr = DAG.getCopyFromReg(DAG.getEntryNode(), dl, RetReg, VT); in LowerRETURNADDR()
1125 SDValue Chain = getFLUSHW(Op, DAG); in LowerRETURNADDR()
1126 RetAddr = DAG.getCopyFromReg(Chain, dl, SP::I6, VT); in LowerRETURNADDR()
1129 SDValue Ptr = DAG.getNode(ISD::ADD, in LowerRETURNADDR()
1132 DAG.getIntPtrConstant((i == depth-1)?60:56)); in LowerRETURNADDR()
1133 RetAddr = DAG.getLoad(MVT::i32, dl, in LowerRETURNADDR()
1143 LowerOperation(SDValue Op, SelectionDAG &DAG) const { in LowerOperation()
1146 case ISD::RETURNADDR: return LowerRETURNADDR(Op, DAG); in LowerOperation()
1147 case ISD::FRAMEADDR: return LowerFRAMEADDR(Op, DAG); in LowerOperation()
1150 case ISD::GlobalAddress: return LowerGlobalAddress(Op, DAG); in LowerOperation()
1151 case ISD::ConstantPool: return LowerConstantPool(Op, DAG); in LowerOperation()
1152 case ISD::FP_TO_SINT: return LowerFP_TO_SINT(Op, DAG); in LowerOperation()
1153 case ISD::SINT_TO_FP: return LowerSINT_TO_FP(Op, DAG); in LowerOperation()
1154 case ISD::BR_CC: return LowerBR_CC(Op, DAG); in LowerOperation()
1155 case ISD::SELECT_CC: return LowerSELECT_CC(Op, DAG); in LowerOperation()
1156 case ISD::VASTART: return LowerVASTART(Op, DAG, *this); in LowerOperation()
1157 case ISD::VAARG: return LowerVAARG(Op, DAG); in LowerOperation()
1158 case ISD::DYNAMIC_STACKALLOC: return LowerDYNAMIC_STACKALLOC(Op, DAG); in LowerOperation()