Lines Matching refs:FuncInfo
131 if (!FuncInfo.MBB->empty()) in startNewBlock()
132 EmitStartPt = &FuncInfo.MBB->back(); in startNewBlock()
139 if (!FuncInfo.CanLowerReturn) in lowerArguments()
148 for (Function::const_arg_iterator I = FuncInfo.Fn->arg_begin(), in lowerArguments()
149 E = FuncInfo.Fn->arg_end(); in lowerArguments()
153 FuncInfo.ValueMap[&*I] = VI->second; in lowerArguments()
178 FunctionLoweringInfo &FuncInfo) { in isRegUsedByPhiNodes() argument
179 for (auto &P : FuncInfo.PHINodesToUpdate) in isRegUsedByPhiNodes()
195 : FuncInfo.MBB->rend(); in flushLocalValueMap()
202 if (FuncInfo.RegsWithFixups.count(DefReg)) in flushLocalValueMap()
204 bool UsedByPHI = isRegUsedByPhiNodes(DefReg, FuncInfo); in flushLocalValueMap()
214 if (FirstNonValue != FuncInfo.MBB->end()) { in flushLocalValueMap()
226 : FuncInfo.MBB->begin(); in flushLocalValueMap()
235 SavedInsertPt = FuncInfo.InsertPt; in flushLocalValueMap()
265 !FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(V)))) in getRegForValue()
266 return FuncInfo.InitializeRegForValue(V); in getRegForValue()
322 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in materializeConstant()
356 DenseMap<const Value *, Register>::iterator I = FuncInfo.ValueMap.find(V); in lookUpRegForValue()
357 if (I != FuncInfo.ValueMap.end()) in lookUpRegForValue()
368 Register &AssignedReg = FuncInfo.ValueMap[I]; in updateValueMap()
375 FuncInfo.RegFixups[AssignedReg + i] = Reg + i; in updateValueMap()
376 FuncInfo.RegsWithFixups.insert(Reg + i); in updateValueMap()
403 FuncInfo.InsertPt = getLastLocalValue(); in recomputeInsertPt()
404 FuncInfo.MBB = FuncInfo.InsertPt->getParent(); in recomputeInsertPt()
405 ++FuncInfo.InsertPt; in recomputeInsertPt()
407 FuncInfo.InsertPt = FuncInfo.MBB->getFirstNonPHI(); in recomputeInsertPt()
431 SavePoint OldInsertPt = FuncInfo.InsertPt; in enterLocalValueArea()
437 if (FuncInfo.InsertPt != FuncInfo.MBB->begin()) in leaveLocalValueArea()
438 LastLocalValue = &*std::prev(FuncInfo.InsertPt); in leaveLocalValueArea()
441 FuncInfo.InsertPt = OldInsertPt; in leaveLocalValueArea()
627 auto SI = FuncInfo.StaticAllocaMap.find(AI); in addStackMapLiveVars()
628 if (SI != FuncInfo.StaticAllocaMap.end()) in addStackMapLiveVars()
691 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AdjStackDown)); in selectStackmap()
697 MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectStackmap()
704 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AdjStackUp)) in selectStackmap()
709 FuncInfo.MF->getFrameInfo().setHasStackMap(); in selectStackmap()
858 TRI.getCallPreservedMask(*FuncInfo.MF, CC))); in selectPatchpoint()
873 MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, CLI.Call, MIMD, in selectPatchpoint()
885 FuncInfo.MF->getFrameInfo().setHasPatchPoint(); in selectPatchpoint()
902 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectXRayCustomEvent()
923 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectXRayTypedEvent()
995 CLI.CallConv, *FuncInfo.MF, CLI.IsVarArg, Outs, CLI.RetTy->getContext()); in lowerCallTo()
1164 MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectCall()
1205 if (FuncInfo.PreprocessedDPVDeclares.contains(&DPV)) in handleDbgInfo()
1223 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, II, false, 0U, Var, Expr); in lowerDbgValue()
1231 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, II) in lowerDbgValue()
1237 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, II) in lowerDbgValue()
1245 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, II) in lowerDbgValue()
1258 for (auto [PhysReg, VirtReg] : FuncInfo.RegInfo->liveins()) in lowerDbgValue()
1260 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, II, false /*IsIndirect*/, in lowerDbgValue()
1269 if (auto SI = FuncInfo.StaticAllocaMap.find(dyn_cast<AllocaInst>(V)); in lowerDbgValue()
1270 SI != FuncInfo.StaticAllocaMap.end()) { in lowerDbgValue()
1273 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, II, IsIndirect, FrameIndexOp, in lowerDbgValue()
1279 if (!FuncInfo.MF->useDebugInstrRef()) { in lowerDbgValue()
1281 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, II, IsIndirect, Reg, Var, in lowerDbgValue()
1294 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, in lowerDbgValue()
1326 !FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(Address)))) in lowerDbgDeclare()
1327 Op = MachineOperand::CreateReg(FuncInfo.InitializeRegForValue(Address), in lowerDbgDeclare()
1333 if (FuncInfo.MF->useDebugInstrRef() && Op->isReg()) { in lowerDbgDeclare()
1340 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, in lowerDbgDeclare()
1348 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, in lowerDbgDeclare()
1380 if (!FuncInfo.MF->getMMI().hasDebugInfo()) { in selectIntrinsicCall()
1386 if (FuncInfo.PreprocessedDbgDeclares.contains(DI)) in selectIntrinsicCall()
1417 if (!FuncInfo.MF->getMMI().hasDebugInfo()) { in selectIntrinsicCall()
1422 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectIntrinsicCall()
1530 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectFreeze()
1550 FirstDeadInst = FuncInfo.MBB->getFirstNonPHI(); in removeDeadLocalValueCode()
1552 removeDeadCode(FirstDeadInst, FuncInfo.InsertPt); in removeDeadLocalValueCode()
1584 SavedInsertPt = FuncInfo.InsertPt; in selectInstruction()
1612 if (SavedInsertPt != FuncInfo.InsertPt) in selectInstruction()
1613 removeDeadCode(FuncInfo.InsertPt, SavedInsertPt); in selectInstruction()
1614 SavedInsertPt = FuncInfo.InsertPt; in selectInstruction()
1624 if (SavedInsertPt != FuncInfo.InsertPt) in selectInstruction()
1625 removeDeadCode(FuncInfo.InsertPt, SavedInsertPt); in selectInstruction()
1633 FuncInfo.PHINodesToUpdate.resize(FuncInfo.OrigNumPHINodesToUpdate); in selectInstruction()
1642 if (FuncInfo.MBB->getBasicBlock()->sizeWithoutDebug() > 1 && in fastEmitBranch()
1643 FuncInfo.MBB->isLayoutSuccessor(MSucc)) { in fastEmitBranch()
1649 TII.insertBranch(*FuncInfo.MBB, MSucc, nullptr, in fastEmitBranch()
1652 if (FuncInfo.BPI) { in fastEmitBranch()
1653 auto BranchProbability = FuncInfo.BPI->getEdgeProbability( in fastEmitBranch()
1654 FuncInfo.MBB->getBasicBlock(), MSucc->getBasicBlock()); in fastEmitBranch()
1655 FuncInfo.MBB->addSuccessor(MSucc, BranchProbability); in fastEmitBranch()
1657 FuncInfo.MBB->addSuccessorWithoutProb(MSucc); in fastEmitBranch()
1667 if (FuncInfo.BPI) { in finishCondBranch()
1669 FuncInfo.BPI->getEdgeProbability(BranchBB, TrueMBB->getBasicBlock()); in finishCondBranch()
1670 FuncInfo.MBB->addSuccessor(TrueMBB, BranchProbability); in finishCondBranch()
1672 FuncInfo.MBB->addSuccessorWithoutProb(TrueMBB); in finishCondBranch()
1740 DenseMap<const Value *, Register>::iterator I = FuncInfo.ValueMap.find(Op0); in selectExtractValue()
1741 if (I != FuncInfo.ValueMap.end()) in selectExtractValue()
1744 ResultReg = FuncInfo.InitializeRegForValue(Op0); in selectExtractValue()
1755 ResultReg += TLI.getNumRegisters(FuncInfo.Fn->getContext(), AggValueVTs[i]); in selectExtractValue()
1811 MachineBasicBlock *MSucc = FuncInfo.MBBMap[LLVMSucc]; in selectOperator()
1829 if (FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(I))) in selectOperator()
1890 FastISel::FastISel(FunctionLoweringInfo &FuncInfo, in FastISel() argument
1893 : FuncInfo(FuncInfo), MF(FuncInfo.MF), MRI(FuncInfo.MF->getRegInfo()), in FastISel()
1894 MFI(FuncInfo.MF->getFrameInfo()), MCP(*FuncInfo.MF->getConstantPool()), in FastISel()
1895 TM(FuncInfo.MF->getTarget()), DL(MF->getDataLayout()), in FastISel()
1967 IntegerType::get(FuncInfo.Fn->getContext(), VT.getSizeInBits()); in fastEmit_ri_()
1983 TII.getRegClass(II, OpNum, &TRI, *FuncInfo.MF); in constrainOperandRegClass()
1988 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in constrainOperandRegClass()
2001 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg); in fastEmitInst_()
2013 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in fastEmitInst_r()
2016 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in fastEmitInst_r()
2018 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_r()
2036 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in fastEmitInst_rr()
2040 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in fastEmitInst_rr()
2043 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_rr()
2061 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in fastEmitInst_rrr()
2066 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in fastEmitInst_rrr()
2070 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_rrr()
2086 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in fastEmitInst_ri()
2090 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in fastEmitInst_ri()
2093 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_ri()
2109 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in fastEmitInst_rii()
2114 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in fastEmitInst_rii()
2118 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_rii()
2133 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in fastEmitInst_f()
2136 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in fastEmitInst_f()
2138 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_f()
2155 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in fastEmitInst_rri()
2160 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in fastEmitInst_rri()
2164 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_rri()
2177 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in fastEmitInst_i()
2180 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II).addImm(Imm); in fastEmitInst_i()
2181 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_i()
2195 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in fastEmitInst_extractsubreg()
2214 FuncInfo.OrigNumPHINodesToUpdate = FuncInfo.PHINodesToUpdate.size(); in handlePHINodesInSuccessorBlocks()
2221 MachineBasicBlock *SuccMBB = FuncInfo.MBBMap[SuccBB]; in handlePHINodesInSuccessorBlocks()
2248 FuncInfo.PHINodesToUpdate.resize(FuncInfo.OrigNumPHINodesToUpdate); in handlePHINodesInSuccessorBlocks()
2263 FuncInfo.PHINodesToUpdate.resize(FuncInfo.OrigNumPHINodesToUpdate); in handlePHINodesInSuccessorBlocks()
2266 FuncInfo.PHINodesToUpdate.push_back(std::make_pair(&*MBBI++, Reg)); in handlePHINodesInSuccessorBlocks()
2319 if (FuncInfo.RegsWithFixups.contains(LoadReg)) in tryToFoldLoad()
2328 FuncInfo.InsertPt = User; in tryToFoldLoad()
2329 FuncInfo.MBB = User->getParent(); in tryToFoldLoad()
2345 FuncInfo.MBBMap[cast<Instruction>(Add)->getParent()] != FuncInfo.MBB) in canFoldAddIntoGEP()
2395 return FuncInfo.MF->getMachineMemOperand(MachinePointerInfo(Ptr), Flags, Size, in createMachineMemOperandFor()