Lines Matching defs:CLI

3123     TargetLowering::CallLoweringInfo CLI(DAG);
3124 CLI.setDebugLoc(getCurSDLoc())
3129 std::pair<SDValue, SDValue> Result = TLI.LowerCallTo(CLI);
7466 TargetLowering::CallLoweringInfo CLI(DAG);
7467 CLI.setDebugLoc(sdl).setChain(getRoot()).setLibCallee(
7473 std::pair<SDValue, SDValue> Result = TLI.LowerCallTo(CLI);
7890 TargetLowering::CallLoweringInfo CLI(DAG);
7891 CLI.setDebugLoc(getCurSDLoc())
7897 CLI.CB = &I;
7899 lowerInvokable(CLI, /*EHPadBB*/ nullptr);
8673 SelectionDAGBuilder::lowerInvokable(TargetLowering::CallLoweringInfo &CLI,
8682 CLI.setChain(getRoot());
8686 std::pair<SDValue, SDValue> Result = TLI.LowerCallTo(CLI);
8688 assert((CLI.IsTailCall || Result.second.getNode()) &&
8706 DAG.setRoot(lowerEndEH(getRoot(), cast_or_null<InvokeInst>(CLI.CB), EHPadBB,
8814 TargetLowering::CallLoweringInfo CLI(DAG);
8815 CLI.setDebugLoc(getCurSDLoc())
8830 CLI.setPtrAuth(*PAI);
8833 std::pair<SDValue, SDValue> Result = lowerInvokable(CLI, EHPadBB);
8840 // The last element of CLI.InVals has the SDValue for swifterror return.
8845 SDValue Src = CLI.InVals.back();
8848 SDValue CopyNode = CLI.DAG.getCopyToReg(Result.second, CLI.DL, VReg, Src);
10415 /// Populate a CallLowerinInfo (into \p CLI) based on the properties of
10422 TargetLowering::CallLoweringInfo &CLI, const CallBase *Call,
10443 CLI.setDebugLoc(getCurSDLoc())
10593 TargetLowering::CallLoweringInfo CLI(DAG);
10594 populateCallLoweringInfo(CLI, &CB, NumMetaOpers, NumCallArgs, Callee,
10596 std::pair<SDValue, SDValue> Result = lowerInvokable(CLI, EHPadBB);
10779 static AttributeList getReturnAttrs(TargetLowering::CallLoweringInfo &CLI) {
10781 if (CLI.RetSExt)
10783 if (CLI.RetZExt)
10785 if (CLI.IsInReg)
10788 return AttributeList::get(CLI.RetTy->getContext(), AttributeList::ReturnIndex,
10797 TargetLowering::LowerCallTo(TargetLowering::CallLoweringInfo &CLI) const {
10799 CLI.Ins.clear();
10800 Type *OrigRetTy = CLI.RetTy;
10803 auto &DL = CLI.DAG.getDataLayout();
10804 ComputeValueVTs(*this, DL, CLI.RetTy, RetTys, &Offsets);
10806 if (CLI.IsPostTypeLegalization) {
10816 MVT RegisterVT = getRegisterType(CLI.RetTy->getContext(), RetVT);
10817 unsigned NumRegs = getNumRegisters(CLI.RetTy->getContext(), RetVT);
10826 GetReturnInfo(CLI.CallConv, CLI.RetTy, getReturnAttrs(CLI), Outs, *this, DL);
10829 this->CanLowerReturn(CLI.CallConv, CLI.DAG.getMachineFunction(),
10830 CLI.IsVarArg, Outs, CLI.RetTy->getContext());
10838 uint64_t TySize = DL.getTypeAllocSize(CLI.RetTy);
10839 Align Alignment = DL.getPrefTypeAlign(CLI.RetTy);
10840 MachineFunction &MF = CLI.DAG.getMachineFunction();
10843 Type *StackSlotPtrType = PointerType::get(CLI.RetTy,
10846 DemoteStackSlot = CLI.DAG.getFrameIndex(DemoteStackIdx, getFrameIndexTy(DL));
10863 CLI.getArgs().insert(CLI.getArgs().begin(), Entry);
10864 CLI.NumFixedArgs += 1;
10865 CLI.getArgs()[0].IndirectType = CLI.RetTy;
10866 CLI.RetTy = Type::getVoidTy(CLI.RetTy->getContext());
10870 CLI.IsTailCall = false;
10873 CLI.RetTy, CLI.CallConv, CLI.IsVarArg, DL);
10882 MVT RegisterVT = getRegisterTypeForCallingConv(CLI.RetTy->getContext(),
10883 CLI.CallConv, VT);
10884 unsigned NumRegs = getNumRegistersForCallingConv(CLI.RetTy->getContext(),
10885 CLI.CallConv, VT);
10891 MyFlags.Used = CLI.IsReturnValueUsed;
10892 if (CLI.RetTy->isPointerTy()) {
10895 cast<PointerType>(CLI.RetTy)->getAddressSpace());
10897 if (CLI.RetSExt)
10899 if (CLI.RetZExt)
10901 if (CLI.IsInReg)
10903 CLI.Ins.push_back(MyFlags);
10908 // We push in swifterror return as the last element of CLI.Ins.
10909 ArgListTy &Args = CLI.getArgs();
10917 CLI.Ins.push_back(MyFlags);
10923 CLI.Outs.clear();
10924 CLI.OutVals.clear();
10928 // FIXME: Split arguments if CLI.IsPostTypeLegalization
10933 FinalType, CLI.CallConv, CLI.IsVarArg, DL);
10937 Type *ArgTy = VT.getTypeForEVT(CLI.RetTy->getContext());
10960 if (CLI.CallConv == CallingConv::X86_VectorCall &&
11023 MVT PartVT = getRegisterTypeForCallingConv(CLI.RetTy->getContext(),
11024 CLI.CallConv, VT);
11025 unsigned NumParts = getNumRegistersForCallingConv(CLI.RetTy->getContext(),
11026 CLI.CallConv, VT);
11039 assert((CLI.RetTy == Args[i].Ty ||
11040 (CLI.RetTy->isPointerTy() && Args[i].Ty->isPointerTy() &&
11041 CLI.RetTy->getPointerAddressSpace() ==
11055 (ExtendKind != ISD::ANY_EXTEND && CLI.RetSExt == Args[i].IsSExt &&
11056 CLI.RetZExt == Args[i].IsZExt))
11060 getCopyToParts(CLI.DAG, CLI.DL, Op, &Parts[0], NumParts, PartVT, CLI.CB,
11061 CLI.CallConv, ExtendKind);
11069 i < CLI.NumFixedArgs, i,
11079 CLI.Outs.push_back(MyFlags);
11080 CLI.OutVals.push_back(Parts[j]);
11084 CLI.Outs[CLI.Outs.size() - 1].Flags.setInConsecutiveRegsLast();
11089 CLI.Chain = LowerCall(CLI, InVals);
11091 // Update CLI.InVals to use outside of this function.
11092 CLI.InVals = InVals;
11095 assert(CLI.Chain.getNode() && CLI.Chain.getValueType() == MVT::Other &&
11097 assert((!CLI.IsTailCall || InVals.empty()) &&
11099 assert((CLI.IsTailCall || InVals.size() == CLI.Ins.size()) &&
11106 if (CLI.IsTailCall) {
11107 CLI.DAG.setRoot(CLI.Chain);
11112 for (unsigned i = 0, e = CLI.Ins.size(); i != e; ++i) {
11114 assert(EVT(CLI.Ins[i].VT) == InVals[i].getValueType() &&
11140 MachineFunction &MF = CLI.DAG.getMachineFunction();
11143 SDValue Add = CLI.DAG.getNode(ISD::ADD, CLI.DL, PtrVT, DemoteStackSlot,
11144 CLI.DAG.getConstant(Offsets[i], CLI.DL,
11146 SDValue L = CLI.DAG.getLoad(
11147 RetTys[i], CLI.DL, CLI.Chain, Add,
11148 MachinePointerInfo::getFixedStack(CLI.DAG.getMachineFunction(),
11155 CLI.Chain = CLI.DAG.getNode(ISD::TokenFactor, CLI.DL, MVT::Other, Chains);
11160 if (CLI.RetSExt)
11162 else if (CLI.RetZExt)
11166 MVT RegisterVT = getRegisterTypeForCallingConv(CLI.RetTy->getContext(),
11167 CLI.CallConv, VT);
11168 unsigned NumRegs = getNumRegistersForCallingConv(CLI.RetTy->getContext(),
11169 CLI.CallConv, VT);
11172 CLI.DAG, CLI.DL, &InVals[CurReg], NumRegs, RegisterVT, VT, nullptr,
11173 CLI.Chain, CLI.CallConv, AssertOp));
11181 return std::make_pair(SDValue(), CLI.Chain);
11184 SDValue Res = CLI.DAG.getNode(ISD::MERGE_VALUES, CLI.DL,
11185 CLI.DAG.getVTList(RetTys), ReturnValues);
11186 return std::make_pair(Res, CLI.Chain);