Lines Matching refs:FuncInfo

865                                       FunctionLoweringInfo &FuncInfo,  in getCopyFromRegs()  argument
906 FuncInfo.GetLiveOutRegInfo(Regs[Part+i]); in getCopyFromRegs()
1259 if (FuncInfo.PreprocessedDPVDeclares.contains(&DPV)) in visitDbgInfo()
1582 auto SI = FuncInfo.StaticAllocaMap.find(AI); in handleDebugValue()
1583 if (SI != FuncInfo.StaticAllocaMap.end()) { in handleDebugValue()
1633 auto VMI = FuncInfo.ValueMap.find(V); in handleDebugValue()
1634 if (VMI != FuncInfo.ValueMap.end()) { in handleDebugValue()
1699 DenseMap<const Value *, Register>::iterator It = FuncInfo.ValueMap.find(V); in getCopyFromRegs()
1702 if (It != FuncInfo.ValueMap.end()) { in getCopyFromRegs()
1709 Result = RFV.getCopyFromRegs(DAG, FuncInfo, getCurSDLoc(), Chain, nullptr, in getCopyFromRegs()
1898 FuncInfo.StaticAllocaMap.find(AI); in getValueImpl()
1899 if (SI != FuncInfo.StaticAllocaMap.end()) in getValueImpl()
1906 Register InReg = FuncInfo.InitializeRegForValue(Inst); in getValueImpl()
1911 return RFV.getCopyFromRegs(DAG, FuncInfo, getCurSDLoc(), Chain, nullptr, V); in getValueImpl()
1918 return DAG.getBasicBlock(FuncInfo.MBBMap[BB]); in getValueImpl()
1924 auto Pers = classifyEHPersonality(FuncInfo.Fn->getPersonalityFn()); in visitCatchPad()
1928 MachineBasicBlock *CatchPadMBB = FuncInfo.MBB; in visitCatchPad()
1938 MachineBasicBlock *TargetMBB = FuncInfo.MBBMap[I.getSuccessor()]; in visitCatchRet()
1939 FuncInfo.MBB->addSuccessor(TargetMBB); in visitCatchRet()
1943 auto Pers = classifyEHPersonality(FuncInfo.Fn->getPersonalityFn()); in visitCatchRet()
1948 if (TargetMBB != NextBlock(FuncInfo.MBB) || in visitCatchRet()
1962 SuccessorColor = &FuncInfo.Fn->getEntryBlock(); in visitCatchRet()
1966 MachineBasicBlock *SuccessorColorMBB = FuncInfo.MBBMap[SuccessorColor]; in visitCatchRet()
1979 FuncInfo.MBB->setIsEHScopeEntry(); in visitCleanupPad()
1980 auto Pers = classifyEHPersonality(FuncInfo.Fn->getPersonalityFn()); in visitCleanupPad()
1982 FuncInfo.MBB->setIsEHFuncletEntry(); in visitCleanupPad()
1983 FuncInfo.MBB->setIsCleanupFuncletEntry(); in visitCleanupPad()
2014 FunctionLoweringInfo &FuncInfo, const BasicBlock *EHPadBB, in findWasmUnwindDestinations() argument
2022 UnwindDests.emplace_back(FuncInfo.MBBMap[EHPadBB], Prob); in findWasmUnwindDestinations()
2029 UnwindDests.emplace_back(FuncInfo.MBBMap[CatchPadBB], Prob); in findWasmUnwindDestinations()
2048 FunctionLoweringInfo &FuncInfo, const BasicBlock *EHPadBB, in findUnwindDestinations() argument
2053 classifyEHPersonality(FuncInfo.Fn->getPersonalityFn()); in findUnwindDestinations()
2060 findWasmUnwindDestinations(FuncInfo, EHPadBB, Prob, UnwindDests); in findUnwindDestinations()
2071 UnwindDests.emplace_back(FuncInfo.MBBMap[EHPadBB], Prob); in findUnwindDestinations()
2076 UnwindDests.emplace_back(FuncInfo.MBBMap[EHPadBB], Prob); in findUnwindDestinations()
2083 UnwindDests.emplace_back(FuncInfo.MBBMap[CatchPadBB], Prob); in findUnwindDestinations()
2095 BranchProbabilityInfo *BPI = FuncInfo.BPI; in findUnwindDestinations()
2106 BranchProbabilityInfo *BPI = FuncInfo.BPI; in visitCleanupRet()
2109 ? BPI->getEdgeProbability(FuncInfo.MBB->getBasicBlock(), UnwindDest) in visitCleanupRet()
2111 findUnwindDestinations(FuncInfo, UnwindDest, UnwindDestProb, UnwindDests); in visitCleanupRet()
2114 addSuccessorWithProb(FuncInfo.MBB, UnwindDest.first, UnwindDest.second); in visitCleanupRet()
2116 FuncInfo.MBB->normalizeSuccProbs(); in visitCleanupRet()
2147 if (!FuncInfo.CanLowerReturn) { in visitRet()
2148 unsigned DemoteReg = FuncInfo.DemoteRegister; in visitRet()
2275 &I, FuncInfo.MBB, SwiftError.getFunctionArg()), in visitRet()
2301 DenseMap<const Value *, Register>::iterator VMI = FuncInfo.ValueMap.find(V); in CopyToExportRegsIfNeeded()
2302 if (VMI != FuncInfo.ValueMap.end()) { in CopyToExportRegsIfNeeded()
2317 if (FuncInfo.isExportedInst(V)) return; in ExportFromCurrentBlock()
2319 Register Reg = FuncInfo.InitializeRegForValue(V); in ExportFromCurrentBlock()
2333 return FuncInfo.isExportedInst(V); in isExportableFromCurrentBlock()
2343 return FuncInfo.isExportedInst(V); in isExportableFromCurrentBlock()
2354 BranchProbabilityInfo *BPI = FuncInfo.BPI; in getEdgeProbability()
2369 if (!FuncInfo.BPI) in addSuccessorWithProb()
2594 MachineBasicBlock *BrMBB = FuncInfo.MBB; in visitBr()
2597 MachineBasicBlock *Succ0MBB = FuncInfo.MBBMap[I.getSuccessor(0)]; in visitBr()
2619 MachineBasicBlock *Succ1MBB = FuncInfo.MBBMap[I.getSuccessor(1)]; in visitBr()
2676 FuncInfo.MF->erase(SL->SwitchCases[i].ThisBB); in visitBr()
2823 FuncInfo.CreateReg(TLI.getPointerTy(DAG.getDataLayout())); in visitJumpTableHeader()
3037 B.Reg = FuncInfo.CreateReg(B.RegVT); in visitBitTestHeader()
3127 MachineBasicBlock *InvokeMBB = FuncInfo.MBB; in visitInvoke()
3131 MachineBasicBlock *Return = FuncInfo.MBBMap[I.getSuccessor(0)]; in visitInvoke()
3133 MachineBasicBlock *EHPadMBB = FuncInfo.MBBMap[EHPadBB]; in visitInvoke()
3204 BranchProbabilityInfo *BPI = FuncInfo.BPI; in visitInvoke()
3208 findUnwindDestinations(FuncInfo, EHPadBB, EHPadBBProb, UnwindDests); in visitInvoke()
3224 MachineBasicBlock *CallBrMBB = FuncInfo.MBB; in visitCallBr()
3239 MachineBasicBlock *Return = FuncInfo.MBBMap[I.getDefaultDest()]; in visitCallBr()
3245 MachineBasicBlock *Target = FuncInfo.MBBMap[Dest]; in visitCallBr()
3266 assert(FuncInfo.MBB->isEHPad() && in visitLandingPad()
3272 const Constant *PersonalityFn = FuncInfo.Fn->getPersonalityFn(); in visitLandingPad()
3292 if (FuncInfo.ExceptionPointerVirtReg) { in visitLandingPad()
3295 FuncInfo.ExceptionPointerVirtReg, in visitLandingPad()
3303 FuncInfo.ExceptionSelectorVirtReg, in visitLandingPad()
3327 MachineBasicBlock *IndirectBrMBB = FuncInfo.MBB; in visitIndirectBr()
3337 MachineBasicBlock *Succ = FuncInfo.MBBMap[BB]; in visitIndirectBr()
4238 if (FuncInfo.StaticAllocaMap.count(&I)) in visitAlloca()
4294 assert(FuncInfo.MF->getFrameInfo().hasVarSizedObjects()); in visitAlloca()
4436 SwiftError.getOrCreateVRegDefAt(&I, FuncInfo.MBB, I.getPointerOperand()); in visitStoreToSwiftError()
4472 SwiftError.getOrCreateVRegUseAt(&I, FuncInfo.MBB, SV), ValueVTs[0]); in visitLoadFromSwiftError()
5783 bool IsInEntryBlock = FuncInfo.MBB == &FuncInfo.MF->front(); in EmitFuncArgumentDbgValue()
5836 if (ArgNo >= FuncInfo.DescribedArgs.size()) in EmitFuncArgumentDbgValue()
5837 FuncInfo.DescribedArgs.resize(ArgNo + 1, false); in EmitFuncArgumentDbgValue()
5838 else if (!IsInPrologue && FuncInfo.DescribedArgs.test(ArgNo)) in EmitFuncArgumentDbgValue()
5840 FuncInfo.DescribedArgs.set(ArgNo); in EmitFuncArgumentDbgValue()
5847 int FI = FuncInfo.getArgumentFrameIndex(Arg); in EmitFuncArgumentDbgValue()
5916 FuncInfo.ArgDbgValues.push_back(NewMI); in EmitFuncArgumentDbgValue()
5922 VMI = FuncInfo.ValueMap.find(V); in EmitFuncArgumentDbgValue()
5923 if (VMI != FuncInfo.ValueMap.end()) { in EmitFuncArgumentDbgValue()
5956 FuncInfo.ArgDbgValues.push_back(NewMI); in EmitFuncArgumentDbgValue()
6046 auto ArgIt = FuncInfo.ValueMap.find(Arg); in visitEntryValueDbgValue()
6047 if (ArgIt == FuncInfo.ValueMap.end()) { in visitEntryValueDbgValue()
6055 for (auto [PhysReg, VirtReg] : FuncInfo.RegInfo->liveins()) in visitEntryValueDbgValue()
6308 FuncInfo.PreprocessedDbgDeclares.count(&DI)) in visitIntrinsicCall()
6406 int FI = FuncInfo.StaticAllocaMap[FnCtx]; in visitIntrinsicCall()
6981 int FI = FuncInfo.StaticAllocaMap[Slot]; in visitIntrinsicCall()
7195 auto SI = FuncInfo.StaticAllocaMap.find(LifetimeObject); in visitIntrinsicCall()
7196 if (SI == FuncInfo.StaticAllocaMap.end()) in visitIntrinsicCall()
7279 assert(FuncInfo.StaticAllocaMap.count(Slot) && in visitIntrinsicCall()
7281 int FI = FuncInfo.StaticAllocaMap[Slot]; in visitIntrinsicCall()
7285 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, dl, in visitIntrinsicCall()
7330 unsigned VReg = FuncInfo.getCatchPadExceptionPointerVReg(CPI, PtrRC); in visitIntrinsicCall()
8218 LPadToCallSiteMap[FuncInfo.MBBMap[EHPadBB]].push_back(CallSiteIndex); in lowerStartEH()
8241 auto Pers = classifyEHPersonality(FuncInfo.Fn->getPersonalityFn()); in lowerEndEH()
8250 MF.addInvoke(FuncInfo.MBBMap[EHPadBB], BeginLabel, EndLabel); in lowerEndEH()
8346 DAG.getRegister(SwiftError.getOrCreateVRegUseAt(&CB, FuncInfo.MBB, V), in LowerCallTo()
8414 SwiftError.getOrCreateVRegDefAt(&CB, FuncInfo.MBB, SwiftErrorVal); in LowerCallTo()
9740 Val = OpInfo.AssignedRegs.getCopyFromRegs(DAG, FuncInfo, getCurSDLoc(), in visitInlineAsm()
10032 FuncInfo.MF->getFrameInfo().setHasStackMap(); in visitStackmap()
10178 FuncInfo.MF->getFrameInfo().setHasPatchPoint(); in visitPatchpoint()
10720 auto PreferredExtendIt = FuncInfo.PreferredExtendType.find(V); in CopyValueToVirtualRegister()
10721 if (PreferredExtendIt != FuncInfo.PreferredExtendType.end()) in CopyValueToVirtualRegister()
10756 FunctionLoweringInfo *FuncInfo, in findArgumentCopyElisionCandidates() argument
10763 unsigned NumArgs = FuncInfo->Fn->arg_size(); in findArgumentCopyElisionCandidates()
10771 if (!AI || !AI->isStaticAlloca() || !FuncInfo->StaticAllocaMap.count(AI)) in findArgumentCopyElisionCandidates()
10782 for (const Instruction &I : FuncInfo->Fn->getEntryBlock()) { in findArgumentCopyElisionCandidates()
10852 FunctionLoweringInfo &FuncInfo, SmallVectorImpl<SDValue> &Chains, in tryToElideArgumentCopy() argument
10872 int &AllocaIndex = FuncInfo.StaticAllocaMap[AI]; in tryToElideArgumentCopy()
10874 MachineFrameInfo &MFI = FuncInfo.MF->getFrameInfo(); in tryToElideArgumentCopy()
10929 if (!FuncInfo->CanLowerReturn) { in LowerArguments()
10951 findArgumentCopyElisionCandidates(DL, FuncInfo.get(), in LowerArguments()
11122 if (!FuncInfo->CanLowerReturn) { in LowerArguments()
11141 FuncInfo->DemoteRegister = SRetReg; in LowerArguments()
11170 tryToElideArgumentCopy(*FuncInfo, Chains, ArgCopyElisionFrameIndexMap, in LowerArguments()
11186 FuncInfo->setArgumentFrameIndex(&Arg, FI->getIndex()); in LowerArguments()
11221 FuncInfo->setArgumentFrameIndex(&Arg, FI->getIndex()); in LowerArguments()
11240 FuncInfo->setArgumentFrameIndex(&Arg, FI->getIndex()); in LowerArguments()
11251 SwiftError->setCurrentVReg(FuncInfo->MBB, SwiftError->getFunctionArg(), in LowerArguments()
11263 FuncInfo->ValueMap[&Arg] = Reg; in LowerArguments()
11268 FuncInfo->InitializeRegForValue(&Arg); in LowerArguments()
11313 MachineBasicBlock *SuccMBB = FuncInfo.MBBMap[SuccBB]; in HandlePHINodesInSuccessorBlocks()
11340 RegOut = FuncInfo.CreateRegs(C); in HandlePHINodesInSuccessorBlocks()
11352 FuncInfo.ValueMap.find(PHIOp); in HandlePHINodesInSuccessorBlocks()
11353 if (I != FuncInfo.ValueMap.end()) in HandlePHINodesInSuccessorBlocks()
11357 FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(PHIOp)) && in HandlePHINodesInSuccessorBlocks()
11359 Reg = FuncInfo.CreateRegs(PHIOp); in HandlePHINodesInSuccessorBlocks()
11371 FuncInfo.PHINodesToUpdate.push_back( in HandlePHINodesInSuccessorBlocks()
11383 if (++I == FuncInfo.MF->end()) in NextBlock()
11404 MachineFunction *CurMF = FuncInfo.MF; in lowerWorkItem()
11407 if (++BBI != FuncInfo.MF->end()) in lowerWorkItem()
11412 BranchProbabilityInfo *BPI = FuncInfo.BPI; in lowerWorkItem()
11692 LeftMBB = FuncInfo.MF->CreateMachineBasicBlock(W.MBB->getBasicBlock()); in splitWorkItem()
11693 FuncInfo.MF->insert(BBI, LeftMBB); in splitWorkItem()
11708 RightMBB = FuncInfo.MF->CreateMachineBasicBlock(W.MBB->getBasicBlock()); in splitWorkItem()
11709 FuncInfo.MF->insert(BBI, RightMBB); in splitWorkItem()
11748 MachineBasicBlock *SwitchMBB = FuncInfo.MBB; in peelDominantCaseCluster()
11750 if (SwitchPeelThreshold > 100 || !FuncInfo.BPI || Clusters.size() < 2 || in peelDominantCaseCluster()
11776 FuncInfo.MF->CreateMachineBasicBlock(SwitchMBB->getBasicBlock()); in peelDominantCaseCluster()
11777 FuncInfo.MF->insert(BBI, PeeledSwitchMBB); in peelDominantCaseCluster()
11799 BranchProbabilityInfo *BPI = FuncInfo.BPI; in visitSwitch()
11803 MachineBasicBlock *Succ = FuncInfo.MBBMap[I.getCaseSuccessor()]; in visitSwitch()
11811 MachineBasicBlock *DefaultMBB = FuncInfo.MBBMap[SI.getDefaultDest()]; in visitSwitch()
11824 MachineBasicBlock *SwitchMBB = FuncInfo.MBB; in visitSwitch()
11865 DefaultMBB == FuncInfo.MBBMap[SI.getDefaultDest()]) in visitSwitch()
12072 unsigned InitialDef = FuncInfo.ValueMap[CBR]; in visitCallBrLandingPad()
12098 FuncInfo.MBB->addLiveIn(OriginalDef); in visitCallBrLandingPad()
12104 DAG, FuncInfo, getCurSDLoc(), Chain, nullptr, CBR); in visitCallBrLandingPad()