Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:FuncInfo

339   FuncInfo(new FunctionLoweringInfo(TM)),
341 SDB(new SelectionDAGBuilder(*CurDAG, *FuncInfo, OL)),
354 delete FuncInfo;
440 FuncInfo->set(Fn, *MF, CurDAG);
443 FuncInfo->BPI = &getAnalysis<BranchProbabilityInfo>();
445 FuncInfo->BPI = nullptr;
460 if (!FuncInfo->ArgDbgValues.empty())
467 for (unsigned i = 0, e = FuncInfo->ArgDbgValues.size(); i != e; ++i) {
468 MachineInstr *MI = FuncInfo->ArgDbgValues[e-i-1];
555 I = FuncInfo->RegFixups.begin(), E = FuncInfo->RegFixups.end();
562 DenseMap<unsigned, unsigned>::iterator J = FuncInfo->RegFixups.find(To);
581 FuncInfo->clear();
644 FuncInfo->AddLiveOutRegInfo(DestReg, NumSignBits, KnownZero, KnownOne);
661 BlockNumber = FuncInfo->MBB->getNumber();
663 FuncInfo->MBB->getBasicBlock()->getName().str();
779 Scheduler->Run(CurDAG, FuncInfo->MBB);
786 MachineBasicBlock *FirstMBB = FuncInfo->MBB, *LastMBB;
790 // FuncInfo->InsertPt is passed by reference and set to the end of the
792 LastMBB = FuncInfo->MBB = Scheduler->EmitSchedule(FuncInfo->InsertPt);
832 << FuncInfo->MBB->getNumber()
833 << " '" << FuncInfo->MBB->getName() << "'\n");
895 MachineBasicBlock *MBB = FuncInfo->MBB;
905 BuildMI(*MBB, FuncInfo->InsertPt, SDB->getCurDebugLoc(), II)
912 FuncInfo->ExceptionPointerVirtReg = MBB->addLiveIn(Reg, PtrRC);
916 FuncInfo->ExceptionSelectorVirtReg = MBB->addLiveIn(Reg, PtrRC);
923 FunctionLoweringInfo *FuncInfo) {
928 !FuncInfo->isExportedInst(I); // Exported instrs must be computed.
1045 FastIS = getTargetLowering()->createFastISel(*FuncInfo, LibInfo);
1057 if (!FuncInfo->VisitedBBs.count(*PI)) {
1066 FuncInfo->ComputePHILiveOutRegInfo(PN);
1070 FuncInfo->InvalidatePHILiveOutRegInfo(PN);
1073 FuncInfo->VisitedBBs.insert(LLVMBB);
1080 FuncInfo->MBB = FuncInfo->MBBMap[LLVMBB];
1081 FuncInfo->InsertPt = FuncInfo->MBB->getFirstNonPHI();
1084 FuncInfo->ExceptionPointerVirtReg = 0;
1085 FuncInfo->ExceptionSelectorVirtReg = 0;
1086 if (FuncInfo->MBB->isLandingPad())
1115 if (FuncInfo->InsertPt != FuncInfo->MBB->begin())
1116 FastIS->setLastLocalValue(std::prev(FuncInfo->InsertPt));
1127 if (isFoldedOrDeadInstruction(Inst, FuncInfo)) {
1146 if (!isFoldedOrDeadInstruction(BeforeInst, FuncInfo))
1174 unsigned &R = FuncInfo->ValueMap[Inst];
1176 R = FuncInfo->CreateRegs(Inst->getType());
1180 MachineBasicBlock::iterator SavedInsertPt = FuncInfo->InsertPt;
1186 FastIS->removeDeadCode(SavedInsertPt, FuncInfo->MBB->end());
1243 FuncInfo->PHINodesToUpdate.clear();
1339 << FuncInfo->PHINodesToUpdate.size() << "\n";
1340 for (unsigned i = 0, e = FuncInfo->PHINodesToUpdate.size(); i != e; ++i)
1342 << FuncInfo->PHINodesToUpdate[i].first
1343 << ", " << FuncInfo->PHINodesToUpdate[i].second << ")\n");
1352 for (unsigned i = 0, e = FuncInfo->PHINodesToUpdate.size(); i != e; ++i) {
1353 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[i].first);
1356 if (!FuncInfo->MBB->isSuccessor(PHI->getParent()))
1358 PHI.addReg(FuncInfo->PHINodesToUpdate[i].second).addMBB(FuncInfo->MBB);
1382 FuncInfo->MBB = ParentMBB;
1383 FuncInfo->InsertPt = ParentMBB->end();
1392 FuncInfo->MBB = FailureMBB;
1393 FuncInfo->InsertPt = FailureMBB->end();
1412 FuncInfo->MBB = SDB->BitTestCases[i].Parent;
1413 FuncInfo->InsertPt = FuncInfo->MBB->end();
1415 SDB->visitBitTestHeader(SDB->BitTestCases[i], FuncInfo->MBB);
1428 FuncInfo->MBB = SDB->BitTestCases[i].Cases[j].ThisBB;
1429 FuncInfo->InsertPt = FuncInfo->MBB->end();
1437 FuncInfo->MBB);
1444 FuncInfo->MBB);
1453 for (unsigned pi = 0, pe = FuncInfo->PHINodesToUpdate.size();
1455 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[pi].first);
1462 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second)
1464 .addReg(FuncInfo->PHINodesToUpdate[pi].second)
1471 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second).addMBB(cBB);
1484 FuncInfo->MBB = SDB->JTCases[i].first.HeaderBB;
1485 FuncInfo->InsertPt = FuncInfo->MBB->end();
1488 FuncInfo->MBB);
1495 FuncInfo->MBB = SDB->JTCases[i].second.MBB;
1496 FuncInfo->InsertPt = FuncInfo->MBB->end();
1504 for (unsigned pi = 0, pe = FuncInfo->PHINodesToUpdate.size();
1506 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[pi].first);
1512 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second)
1515 if (FuncInfo->MBB->isSuccessor(PHIBB))
1516 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second).addMBB(FuncInfo->MBB);
1523 for (unsigned i = 0, e = FuncInfo->PHINodesToUpdate.size(); i != e; ++i) {
1524 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[i].first);
1527 if (FuncInfo->MBB->isSuccessor(PHI->getParent()))
1528 PHI.addReg(FuncInfo->PHINodesToUpdate[i].second).addMBB(FuncInfo->MBB);
1535 FuncInfo->MBB = SDB->SwitchCases[i].ThisBB;
1536 FuncInfo->InsertPt = FuncInfo->MBB->end();
1544 // Emit the code. Note that this could result in FuncInfo->MBB being split.
1545 SDB->visitSwitchCase(SDB->SwitchCases[i], FuncInfo->MBB);
1552 MachineBasicBlock *ThisBB = FuncInfo->MBB;
1559 FuncInfo->MBB = Succs[i];
1560 FuncInfo->InsertPt = FuncInfo->MBB->end();
1561 // FuncInfo->MBB may have been removed from the CFG if a branch was
1563 if (ThisBB->isSuccessor(FuncInfo->MBB)) {
1565 MBBI = FuncInfo->MBB->begin(), MBBE = FuncInfo->MBB->end();
1570 assert(pn != FuncInfo->PHINodesToUpdate.size() &&
1572 if (FuncInfo->PHINodesToUpdate[pn].first == PHI) {
1573 PHI.addReg(FuncInfo->PHINodesToUpdate[pn].second).addMBB(ThisBB);