Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:FuncInfo

271   FuncInfo(new FunctionLoweringInfo(TLI)),
273 SDB(new SelectionDAGBuilder(*CurDAG, *FuncInfo, OL)),
286 delete FuncInfo;
360 FuncInfo->set(Fn, *MF);
363 FuncInfo->BPI = &getAnalysis<BranchProbabilityInfo>();
365 FuncInfo->BPI = 0;
378 if (!FuncInfo->ArgDbgValues.empty())
385 for (unsigned i = 0, e = FuncInfo->ArgDbgValues.size(); i != e; ++i) {
386 MachineInstr *MI = FuncInfo->ArgDbgValues[e-i-1];
464 I = FuncInfo->RegFixups.begin(), E = FuncInfo->RegFixups.end();
472 FuncInfo->RegFixups.find(To);
482 FuncInfo->clear();
542 FuncInfo->AddLiveOutRegInfo(DestReg, NumSignBits, KnownZero, KnownOne);
559 BlockNumber = FuncInfo->MBB->getNumber();
561 FuncInfo->MBB->getBasicBlock()->getName().str();
674 Scheduler->Run(CurDAG, FuncInfo->MBB);
681 MachineBasicBlock *FirstMBB = FuncInfo->MBB, *LastMBB;
685 // FuncInfo->InsertPt is passed by reference and set to the end of the
687 LastMBB = FuncInfo->MBB = Scheduler->EmitSchedule(FuncInfo->InsertPt);
708 << FuncInfo->MBB->getNumber()
709 << " '" << FuncInfo->MBB->getName() << "'\n");
768 MachineBasicBlock *MBB = FuncInfo->MBB;
778 BuildMI(*MBB, FuncInfo->InsertPt, SDB->getCurDebugLoc(), II)
861 FuncInfo->InsertPt = User;
862 FuncInfo->MBB = User->getParent();
872 FunctionLoweringInfo *FuncInfo) {
877 !FuncInfo->isExportedInst(I); // Exported instrs must be computed.
964 FastIS = TLI.createFastISel(*FuncInfo);
976 if (!FuncInfo->VisitedBBs.count(*PI)) {
985 FuncInfo->ComputePHILiveOutRegInfo(cast<PHINode>(I));
989 FuncInfo->InvalidatePHILiveOutRegInfo(cast<PHINode>(I));
992 FuncInfo->VisitedBBs.insert(LLVMBB);
995 FuncInfo->MBB = FuncInfo->MBBMap[LLVMBB];
996 FuncInfo->InsertPt = FuncInfo->MBB->getFirstNonPHI();
1002 FuncInfo->InsertPt = FuncInfo->MBB->getFirstNonPHI();
1005 if (FuncInfo->MBB->isLandingPad())
1026 if (FuncInfo->InsertPt != FuncInfo->MBB->begin())
1027 FastIS->setLastLocalValue(llvm::prior(FuncInfo->InsertPt));
1038 if (isFoldedOrDeadInstruction(Inst, FuncInfo)) {
1057 if (!isFoldedOrDeadInstruction(BeforeInst, FuncInfo))
1085 unsigned &R = FuncInfo->ValueMap[Inst];
1087 R = FuncInfo->CreateRegs(Inst->getType());
1146 FuncInfo->PHINodesToUpdate.clear();
1157 << FuncInfo->PHINodesToUpdate.size() << "\n";
1158 for (unsigned i = 0, e = FuncInfo->PHINodesToUpdate.size(); i != e; ++i)
1160 << FuncInfo->PHINodesToUpdate[i].first
1161 << ", " << FuncInfo->PHINodesToUpdate[i].second << ")\n");
1168 for (unsigned i = 0, e = FuncInfo->PHINodesToUpdate.size(); i != e; ++i) {
1169 MachineInstr *PHI = FuncInfo->PHINodesToUpdate[i].first;
1172 if (!FuncInfo->MBB->isSuccessor(PHI->getParent()))
1175 MachineOperand::CreateReg(FuncInfo->PHINodesToUpdate[i].second, false));
1176 PHI->addOperand(MachineOperand::CreateMBB(FuncInfo->MBB));
1185 FuncInfo->MBB = SDB->BitTestCases[i].Parent;
1186 FuncInfo->InsertPt = FuncInfo->MBB->end();
1188 SDB->visitBitTestHeader(SDB->BitTestCases[i], FuncInfo->MBB);
1196 FuncInfo->MBB = SDB->BitTestCases[i].Cases[j].ThisBB;
1197 FuncInfo->InsertPt = FuncInfo->MBB->end();
1204 FuncInfo->MBB);
1210 FuncInfo->MBB);
1219 for (unsigned pi = 0, pe = FuncInfo->PHINodesToUpdate.size();
1221 MachineInstr *PHI = FuncInfo->PHINodesToUpdate[pi].first;
1229 CreateReg(FuncInfo->PHINodesToUpdate[pi].second,
1233 FuncInfo->PHINodesToUpdate[pi].second,
1244 CreateReg(FuncInfo->PHINodesToUpdate[pi].second,
1260 FuncInfo->MBB = SDB->JTCases[i].first.HeaderBB;
1261 FuncInfo->InsertPt = FuncInfo->MBB->end();
1264 FuncInfo->MBB);
1271 FuncInfo->MBB = SDB->JTCases[i].second.MBB;
1272 FuncInfo->InsertPt = FuncInfo->MBB->end();
1280 for (unsigned pi = 0, pe = FuncInfo->PHINodesToUpdate.size();
1282 MachineInstr *PHI = FuncInfo->PHINodesToUpdate[pi].first;
1289 (MachineOperand::CreateReg(FuncInfo->PHINodesToUpdate[pi].second,
1295 if (FuncInfo->MBB->isSuccessor(PHIBB)) {
1297 (MachineOperand::CreateReg(FuncInfo->PHINodesToUpdate[pi].second,
1299 PHI->addOperand(MachineOperand::CreateMBB(FuncInfo->MBB));
1307 for (unsigned i = 0, e = FuncInfo->PHINodesToUpdate.size(); i != e; ++i) {
1308 MachineInstr *PHI = FuncInfo->PHINodesToUpdate[i].first;
1311 if (FuncInfo->MBB->isSuccessor(PHI->getParent())) {
1313 MachineOperand::CreateReg(FuncInfo->PHINodesToUpdate[i].second, false));
1314 PHI->addOperand(MachineOperand::CreateMBB(FuncInfo->MBB));
1322 FuncInfo->MBB = SDB->SwitchCases[i].ThisBB;
1323 FuncInfo->InsertPt = FuncInfo->MBB->end();
1331 // Emit the code. Note that this could result in FuncInfo->MBB being split.
1332 SDB->visitSwitchCase(SDB->SwitchCases[i], FuncInfo->MBB);
1339 MachineBasicBlock *ThisBB = FuncInfo->MBB;
1346 FuncInfo->MBB = Succs[i];
1347 FuncInfo->InsertPt = FuncInfo->MBB->end();
1348 // FuncInfo->MBB may have been removed from the CFG if a branch was
1350 if (ThisBB->isSuccessor(FuncInfo->MBB)) {
1351 for (MachineBasicBlock::iterator Phi = FuncInfo->MBB->begin();
1352 Phi != FuncInfo->MBB->end() && Phi->isPHI();
1356 assert(pn != FuncInfo->PHINodesToUpdate.size() &&
1358 if (FuncInfo->PHINodesToUpdate[pn].first == Phi) {
1360 CreateReg(FuncInfo->PHINodesToUpdate[pn].second,