Lines Matching full:funcinfo
99 // Instructions are appended to FuncInfo.MBB. If the basic block already
103 if (!FuncInfo.MBB->empty())
104 EmitStartPt = &FuncInfo.MBB->back();
109 if (!FuncInfo.CanLowerReturn)
118 for (Function::const_arg_iterator I = FuncInfo.Fn->arg_begin(),
119 E = FuncInfo.Fn->arg_end();
123 FuncInfo.ValueMap[&*I] = VI->second;
132 SavedInsertPt = FuncInfo.InsertPt;
195 !FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(V))))
196 return FuncInfo.InitializeRegForValue(V);
256 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
290 DenseMap<const Value *, unsigned>::iterator I = FuncInfo.ValueMap.find(V);
291 if (I != FuncInfo.ValueMap.end())
302 unsigned &AssignedReg = FuncInfo.ValueMap[I];
309 FuncInfo.RegFixups[AssignedReg + i] = Reg + i;
340 FuncInfo.InsertPt = getLastLocalValue();
341 FuncInfo.MBB = FuncInfo.InsertPt->getParent();
342 ++FuncInfo.InsertPt;
344 FuncInfo.InsertPt = FuncInfo.MBB->getFirstNonPHI();
347 while (FuncInfo.InsertPt != FuncInfo.MBB->end() &&
348 FuncInfo.InsertPt->getOpcode() == TargetOpcode::EH_LABEL)
349 ++FuncInfo.InsertPt;
365 MachineBasicBlock::iterator OldInsertPt = FuncInfo.InsertPt;
374 if (FuncInfo.InsertPt != FuncInfo.MBB->begin())
375 LastLocalValue = std::prev(FuncInfo.InsertPt);
378 FuncInfo.InsertPt = OldInsertPt.InsertPt;
587 auto SI = FuncInfo.StaticAllocaMap.find(AI);
588 if (SI != FuncInfo.StaticAllocaMap.end())
651 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(AdjStackDown));
657 MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
664 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(AdjStackUp))
669 FuncInfo.MF->getFrameInfo()->setHasStackMap();
821 TRI.getCallPreservedMask(*FuncInfo.MF, CC)));
836 MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, CLI.Call, DbgLoc,
848 FuncInfo.MF->getFrameInfo()->setHasPatchPoint();
920 CLI.CallConv, *FuncInfo.MF, CLI.IsVarArg, Outs, CLI.RetTy->getContext());
1070 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1077 MachineModuleInfo &MMI = FuncInfo.MF->getMMI();
1109 if (!FuncInfo.MF->getMMI().hasDebugInfo()) {
1124 Offset = FuncInfo.getArgumentFrameIndex(Arg);
1144 !FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(Address))))
1145 Op = MachineOperand::CreateReg(FuncInfo.InitializeRegForValue(Address),
1153 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1157 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1180 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1187 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1193 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1199 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1207 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, IsIndirect, Reg,
1309 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1338 FirstDeadInst = FuncInfo.MBB->getFirstNonPHI();
1340 removeDeadCode(FirstDeadInst, FuncInfo.InsertPt);
1360 SavedInsertPt = FuncInfo.InsertPt;
1388 if (SavedInsertPt != FuncInfo.InsertPt)
1389 removeDeadCode(FuncInfo.InsertPt, SavedInsertPt);
1390 SavedInsertPt = FuncInfo.InsertPt;
1400 if (SavedInsertPt != FuncInfo.InsertPt)
1401 removeDeadCode(FuncInfo.InsertPt, SavedInsertPt);
1409 FuncInfo.PHINodesToUpdate.resize(FuncInfo.OrigNumPHINodesToUpdate);
1417 if (FuncInfo.MBB->getBasicBlock()->size() > 1 &&
1418 FuncInfo.MBB->isLayoutSuccessor(MSucc)) {
1424 TII.InsertBranch(*FuncInfo.MBB, MSucc, nullptr,
1427 if (FuncInfo.BPI) {
1428 auto BranchProbability = FuncInfo.BPI->getEdgeProbability(
1429 FuncInfo.MBB->getBasicBlock(), MSucc->getBasicBlock());
1430 FuncInfo.MBB->addSuccessor(MSucc, BranchProbability);
1432 FuncInfo.MBB->addSuccessorWithoutProb(MSucc);
1442 if (FuncInfo.BPI) {
1444 FuncInfo.BPI->getEdgeProbability(BranchBB, TrueMBB->getBasicBlock());
1445 FuncInfo.MBB->addSuccessor(TrueMBB, BranchProbability);
1447 FuncInfo.MBB->addSuccessorWithoutProb(TrueMBB);
1516 DenseMap<const Value *, unsigned>::iterator I = FuncInfo.ValueMap.find(Op0);
1517 if (I != FuncInfo.ValueMap.end())
1520 ResultReg = FuncInfo.InitializeRegForValue(Op0);
1531 ResultReg += TLI.getNumRegisters(FuncInfo.Fn->getContext(), AggValueVTs[i]);
1587 MachineBasicBlock *MSucc = FuncInfo.MBBMap[LLVMSucc];
1605 if (FuncInfo.StaticAllocaMap.count(cast<AllocaInst>(I)))
1655 FastISel::FastISel(FunctionLoweringInfo &FuncInfo,
1658 : FuncInfo(FuncInfo), MF(FuncInfo.MF), MRI(FuncInfo.MF->getRegInfo()),
1659 MFI(*FuncInfo.MF->getFrameInfo()), MCP(*FuncInfo.MF->getConstantPool()),
1660 TM(FuncInfo.MF->getTarget()), DL(MF->getDataLayout()),
1747 IntegerType::get(FuncInfo.Fn->getContext(), VT.getSizeInBits());
1770 TII.getRegClass(II, OpNum, &TRI, *FuncInfo.MF);
1775 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1788 BuildMI(*FuncInfo.MBB, FuncInfo
1801 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)
1804 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1806 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1824 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)
1828 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1831 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1850 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)
1855 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1859 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1874 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)
1878 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1881 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1897 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)
1902 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1906 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1920 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)
1923 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1925 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1942 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)
1947 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II)
1951 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1963 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II, ResultReg)
1966 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, II).addImm(Imm);
1967 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
1980 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(TargetOpcode::COPY),
2001 FuncInfo.OrigNumPHINodesToUpdate = FuncInfo.PHINodesToUpdate.size();
2009 MachineBasicBlock *SuccMBB = FuncInfo.MBBMap[SuccBB];
2038 FuncInfo.PHINodesToUpdate.resize(FuncInfo.OrigNumPHINodesToUpdate);
2053 FuncInfo.PHINodesToUpdate.resize(FuncInfo.OrigNumPHINodesToUpdate);
2056 FuncInfo.PHINodesToUpdate.push_back(std::make_pair(MBBI++, Reg));
2113 FuncInfo.InsertPt = User;
2114 FuncInfo.MBB = User->getParent();
2130 FuncInfo.MBBMap[cast<Instruction>(Add)->getParent()] != FuncInfo.MBB)
2178 return FuncInfo.MF->getMachineMemOperand(MachinePointerInfo(Ptr), Flags, Size,