|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/ARM/ARMISelLowering.cpp 2064 MachineFunction &MF = DAG.getMachineFunction();
2093 MF.getFunction().hasStructRetAttr(), Outs, OutVals, Ins, DAG,
2106 CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), ArgLocs,
2107 *DAG.getContext());
2119 Chain = DAG.getCALLSEQ_START(Chain, NumBytes, 0, dl);
2123 DAG.getCopyFromReg(Chain, dl, ARM::SP, getPointerTy(DAG.getDataLayout()));
2123 DAG.getCopyFromReg(Chain, dl, ARM::SP, getPointerTy(DAG.getDataLayout()));
2143 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg);
2146 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg);
2149 Arg = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Arg);
2152 Arg = DAG.getNode(ISD::BITCAST, dl, VA.getLocVT(), Arg);
2159 SDValue Op0 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f64, Arg,
2160 DAG.getConstant(0, dl, MVT::i32));
2161 SDValue Op1 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::f64, Arg,
2162 DAG.getConstant(1, dl, MVT::i32));
2164 PassF64ArgInRegs(dl, DAG, Chain, Op0, RegsToPass,
2169 PassF64ArgInRegs(dl, DAG, Chain, Op1, RegsToPass,
2175 dl, DAG, VA, Flags));
2178 PassF64ArgInRegs(dl, DAG, Chain, Arg, RegsToPass, VA, ArgLocs[++i],
2190 const TargetOptions &Options = DAG.getTarget().Options;
2209 DAG.getTargetLoweringInfo().getPointerTy(DAG.getDataLayout());
2209 DAG.getTargetLoweringInfo().getPointerTy(DAG.getDataLayout());
2212 SDValue Const = DAG.getConstant(4*i, dl, MVT::i32);
2213 SDValue AddArg = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, Const);
2214 SDValue Load = DAG.getLoad(PtrVT, dl, Chain, AddArg,
2216 DAG.InferPtrAlignment(AddArg));
2229 auto PtrVT = getPointerTy(DAG.getDataLayout());
2231 SDValue StkPtrOff = DAG.getIntPtrConstant(LocMemOffset, dl);
2232 SDValue Dst = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, StkPtrOff);
2233 SDValue SrcOffset = DAG.getIntPtrConstant(4*offset, dl);
2234 SDValue Src = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, SrcOffset);
2235 SDValue SizeNode = DAG.getConstant(Flags.getByValSize() - 4*offset, dl,
2237 SDValue AlignNode = DAG.getConstant(Flags.getByValAlign(), dl,
2240 SDVTList VTs = DAG.getVTList(MVT::Other, MVT::Glue);
2242 MemOpChains.push_back(DAG.getNode(ARMISD::COPY_STRUCT_BYVAL, dl, VTs,
2249 dl, DAG, VA, Flags));
2254 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains);
2260 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first,
2281 auto PtrVt = getPointerTy(DAG.getDataLayout());
2296 SDValue CPAddr = DAG.getTargetConstantPool(CPV, PtrVt, 4);
2297 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
2298 Callee = DAG.getLoad(
2299 PtrVt, dl, DAG.getEntryNode(), CPAddr,
2300 MachinePointerInfo::getConstantPool(DAG.getMachineFunction()));
2307 ARMConstantPoolSymbol::Create(*DAG.getContext(), Sym,
2310 SDValue CPAddr = DAG.getTargetConstantPool(CPV, PtrVt, 4);
2311 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
2312 Callee = DAG.getLoad(
2313 PtrVt, dl, DAG.getEntryNode(), CPAddr,
2314 MachinePointerInfo::getConstantPool(DAG.getMachineFunction()));
2326 Callee = DAG.getNode(
2328 DAG.getTargetGlobalAddress(GV, dl, PtrVt, 0, ARMII::MO_NONLAZY));
2329 Callee = DAG.getLoad(
2330 PtrVt, dl, DAG.getEntryNode(), Callee,
2331 MachinePointerInfo::getGOT(DAG.getMachineFunction()),
2340 Callee = DAG.getTargetGlobalAddress(GV, dl, PtrVt, /*offset=*/0,
2344 DAG.getLoad(PtrVt, dl, DAG.getEntryNode(),
2344 DAG.getLoad(PtrVt, dl, DAG.getEntryNode(),
2345 DAG.getNode(ARMISD::Wrapper, dl, PtrVt, Callee),
2346 MachinePointerInfo::getGOT(DAG.getMachineFunction()));
2348 Callee = DAG.getTargetGlobalAddress(GV, dl, PtrVt, 0, 0);
2358 ARMConstantPoolSymbol::Create(*DAG.getContext(), Sym,
2360 SDValue CPAddr = DAG.getTargetConstantPool(CPV, PtrVt, 4);
2361 CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
2362 Callee = DAG.getLoad(
2363 PtrVt, dl, DAG.getEntryNode(), CPAddr,
2364 MachinePointerInfo::getConstantPool(DAG.getMachineFunction()));
2365 SDValue PICLabel = DAG.getConstant(ARMPCLabelIndex, dl, MVT::i32);
2366 Callee = DAG.getNode(ARMISD::PIC_ADD, dl, PtrVt, Callee, PICLabel);
2368 Callee = DAG.getTargetExternalSymbol(Sym, PtrVt, 0);
2398 Ops.push_back(DAG.getRegister(RegsToPass[i].first,
2419 Ops.push_back(DAG.getRegisterMask(Mask));
2425 SDVTList NodeTys = DAG.getVTList(MVT::Other, MVT::Glue);
2428 SDValue Ret = DAG.getNode(ARMISD::TC_RETURN, dl, NodeTys, Ops);
2429 DAG.addCallSiteInfo(Ret.getNode(), std::move(CSInfo));
2434 Chain = DAG.getNode(CallOpc, dl, NodeTys, Ops);
2436 DAG.addCallSiteInfo(Chain.getNode(), std::move(CSInfo));
2438 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(NumBytes, dl, true),
2438 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(NumBytes, dl, true),
2439 DAG.getIntPtrConstant(0, dl, true), InFlag, dl);
2445 return LowerCallResult(Chain, InFlag, CallConv, isVarArg, Ins, dl, DAG,