Lines Matching defs:CLI

725                                  bool ForceRetVoidTy, CallLoweringInfo &CLI) {
744 CLI.setCallee(CI->getCallingConv(), RetTy, Callee, std::move(Args), NumArgs);
746 return lowerCallTo(CLI);
793 CallLoweringInfo CLI;
794 CLI.setIsPatchPoint();
795 if (!lowerCallOperands(I, NumMetaOpers, NumCallArgs, Callee, IsAnyRegCC, CLI))
798 assert(CLI.Call && "No call instruction specified.");
804 assert(CLI.NumResultRegs == 0 && "Unexpected result register.");
806 CLI.ResultReg = createResultReg(TLI.getRegClassFor(ValueType));
807 CLI.NumResultRegs = 1;
808 Ops.push_back(MachineOperand::CreateReg(CLI.ResultReg, /*isDef=*/true));
844 unsigned NumCallRegArgs = IsAnyRegCC ? NumArgs : CLI.OutRegs.size();
862 for (auto Reg : CLI.OutRegs)
881 for (auto Reg : CLI.InRegs)
886 MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, CLI.Call, MIMD,
892 MIB->setPhysRegsDeadExcept(CLI.InRegs, TRI);
895 CLI.Call->eraseFromParent();
900 if (CLI.NumResultRegs)
901 updateValueMap(I, CLI.ResultReg, CLI.NumResultRegs);
947 static AttributeList getReturnAttrs(FastISel::CallLoweringInfo &CLI) {
949 if (CLI.RetSExt)
951 if (CLI.RetZExt)
953 if (CLI.IsInReg)
956 return AttributeList::get(CLI.RetTy->getContext(), AttributeList::ReturnIndex,
992 CallLoweringInfo CLI;
993 CLI.setCallee(RetTy, FTy, Symbol, std::move(Args), *CI, NumArgs);
995 return lowerCallTo(CLI);
998 bool FastISel::lowerCallTo(CallLoweringInfo &CLI) {
1000 CLI.clearIns();
1002 ComputeValueVTs(TLI, DL, CLI.RetTy, RetTys);
1005 GetReturnInfo(CLI.CallConv, CLI.RetTy, getReturnAttrs(CLI), Outs, TLI, DL);
1008 CLI.CallConv, *FuncInfo.MF, CLI.IsVarArg, Outs, CLI.RetTy->getContext());
1015 MVT RegisterVT = TLI.getRegisterType(CLI.RetTy->getContext(), VT);
1016 unsigned NumRegs = TLI.getNumRegisters(CLI.RetTy->getContext(), VT);
1021 MyFlags.Used = CLI.IsReturnValueUsed;
1022 if (CLI.RetSExt)
1024 if (CLI.RetZExt)
1026 if (CLI.IsInReg)
1028 CLI.Ins.push_back(MyFlags);
1033 CLI.clearOuts();
1034 for (auto &Arg : CLI.getArgs()) {
1039 FinalType, CLI.CallConv, CLI.IsVarArg, DL);
1096 CLI.OutVals.push_back(Arg.Val);
1097 CLI.OutFlags.push_back(Flags);
1100 if (!fastLowerCall(CLI))
1104 assert(CLI.Call && "No call instruction specified.");
1105 CLI.Call->setPhysRegsDeadExcept(CLI.InRegs, TRI);
1107 if (CLI.NumResultRegs && CLI.CB)
1108 updateValueMap(CLI.CB, CLI.ResultReg, CLI.NumResultRegs);
1111 if (CLI.CB)
1112 if (MDNode *MD = CLI.CB->getMetadata("heapallocsite"))
1113 CLI.Call->setHeapAllocMarker(*MF, MD);
1150 CallLoweringInfo CLI;
1151 CLI.setCallee(RetTy, FuncTy, CI->getCalledOperand(), std::move(Args), *CI)
1156 return lowerCallTo(CLI);
1950 bool FastISel::fastLowerCall(CallLoweringInfo & /*CLI*/) { return false; }