Home | History | Annotate | Download | only in SelectionDAG

Lines Matching full:funcinfo

356   FuncInfo(new FunctionLoweringInfo()),
358 SDB(new SelectionDAGBuilder(*CurDAG, *FuncInfo, OL)),
373 delete FuncInfo;
459 FuncInfo->set(Fn, *MF, CurDAG);
462 FuncInfo->BPI = &getAnalysis<BranchProbabilityInfoWrapperPass>().getBPI();
464 FuncInfo->BPI = nullptr;
470 FuncInfo->SplitCSR = false;
476 FuncInfo->SplitCSR = true;
487 Returns.push_back(FuncInfo->MBBMap[&BB]);
492 FuncInfo->SplitCSR = false;
498 if (FuncInfo->SplitCSR)
511 if (FuncInfo->SplitCSR)
515 if (!FuncInfo->ArgDbgValues.empty())
522 for (unsigned i = 0, e = FuncInfo->ArgDbgValues.size(); i != e; ++i) {
523 MachineInstr *MI = FuncInfo->ArgDbgValues[e-i-1];
610 I = FuncInfo->RegFixups.begin(), E = FuncInfo->RegFixups.end();
617 DenseMap<unsigned, unsigned>::iterator J = FuncInfo->RegFixups.find(To);
643 FuncInfo->clear();
705 FuncInfo->AddLiveOutRegInfo(DestReg, NumSignBits, KnownZero, KnownOne);
720 FuncInfo->MBB->getBasicBlock()->getName().str());
728 BlockNumber = FuncInfo->MBB->getNumber();
730 (MF->getName() + ":" + FuncInfo->MBB->getBasicBlock()->getName()).str();
851 Scheduler->Run(CurDAG, FuncInfo->MBB);
858 MachineBasicBlock *FirstMBB = FuncInfo->MBB, *LastMBB;
862 // FuncInfo->InsertPt is passed by reference and set to the end of the
864 LastMBB = FuncInfo->MBB = Scheduler->EmitSchedule(FuncInfo->InsertPt);
904 << FuncInfo->MBB->getNumber()
905 << " '" << FuncInfo->MBB->getName() << "'\n");
979 MachineBasicBlock *MBB = FuncInfo->MBB;
980 const Constant *PersonalityFn = FuncInfo->Fn->getPersonalityFn();
994 unsigned VReg = FuncInfo->getCatchPadExceptionPointerVReg(CPI, PtrRC);
995 BuildMI(*MBB, FuncInfo->InsertPt, SDB->getCurDebugLoc(),
1013 BuildMI(*MBB, FuncInfo->InsertPt, SDB->getCurDebugLoc(), II)
1018 FuncInfo->ExceptionPointerVirtReg = MBB->addLiveIn(Reg, PtrRC);
1022 FuncInfo->ExceptionSelectorVirtReg = MBB->addLiveIn(Reg, PtrRC);
1031 FunctionLoweringInfo *FuncInfo) {
1036 !FuncInfo->isExportedInst(I); // Exported instrs must be computed.
1153 FastIS = TLI->createFastISel(*FuncInfo, LibInfo);
1165 if (!FuncInfo->VisitedBBs.count(*PI)) {
1174 FuncInfo->ComputePHILiveOutRegInfo(PN);
1178 FuncInfo->InvalidatePHILiveOutRegInfo(PN);
1181 FuncInfo->VisitedBBs.insert(LLVMBB);
1189 FuncInfo->MBB = FuncInfo->MBBMap[LLVMBB];
1190 if (!FuncInfo->MBB)
1192 FuncInfo->InsertPt = FuncInfo->MBB->getFirstNonPHI();
1195 FuncInfo->ExceptionPointerVirtReg = 0;
1196 FuncInfo->ExceptionSelectorVirtReg = 0;
1227 if (FuncInfo->InsertPt != FuncInfo->MBB->begin())
1228 FastIS->setLastLocalValue(std::prev(FuncInfo->InsertPt));
1239 if (isFoldedOrDeadInstruction(Inst, FuncInfo)) {
1258 if (!isFoldedOrDeadInstruction(BeforeInst, FuncInfo))
1291 unsigned &R = FuncInfo->ValueMap[Inst];
1293 R = FuncInfo->CreateRegs(Inst->getType());
1297 MachineBasicBlock::iterator SavedInsertPt = FuncInfo->InsertPt;
1303 FastIS->removeDeadCode(SavedInsertPt, FuncInfo->MBB->end());
1360 FuncInfo->PHINodesToUpdate.clear();
1456 << FuncInfo->PHINodesToUpdate.size() << "\n";
1457 for (unsigned i = 0, e = FuncInfo->PHINodesToUpdate.size(); i != e; ++i)
1459 << FuncInfo->PHINodesToUpdate[i].first
1460 << ", " << FuncInfo->PHINodesToUpdate[i].second << ")\n");
1464 for (unsigned i = 0, e = FuncInfo->PHINodesToUpdate.size(); i != e; ++i) {
1465 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[i].first);
1468 if (!FuncInfo->MBB->isSuccessor(PHI->getParent()))
1470 PHI.addReg(FuncInfo->PHINodesToUpdate[i].second).addMBB(FuncInfo->MBB);
1493 FuncInfo->MBB = ParentMBB;
1494 FuncInfo->InsertPt = ParentMBB->end();
1503 FuncInfo->MBB = FailureMBB;
1504 FuncInfo->InsertPt = FailureMBB->end();
1519 FuncInfo->MBB = SDB->BitTestCases[i].Parent;
1520 FuncInfo->InsertPt = FuncInfo->MBB->end();
1522 SDB->visitBitTestHeader(SDB->BitTestCases[i], FuncInfo->MBB);
1532 FuncInfo->MBB = SDB->BitTestCases[i].Cases[j].ThisBB;
1533 FuncInfo->InsertPt = FuncInfo->MBB->end();
1553 FuncInfo->MBB);
1564 for (unsigned pi = 0, pe = FuncInfo->PHINodesToUpdate.size();
1566 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[pi].first);
1573 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second)
1575 .addReg(FuncInfo->PHINodesToUpdate[pi].second)
1582 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second).addMBB(cBB);
1595 FuncInfo->MBB = SDB->JTCases[i].first.HeaderBB;
1596 FuncInfo->InsertPt = FuncInfo->MBB->end();
1599 FuncInfo->MBB);
1606 FuncInfo->MBB = SDB->JTCases[i].second.MBB;
1607 FuncInfo->InsertPt = FuncInfo->MBB->end();
1615 for (unsigned pi = 0, pe = FuncInfo->PHINodesToUpdate.size();
1617 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[pi].first);
1623 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second)
1626 if (FuncInfo->MBB->isSuccessor(PHIBB))
1627 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second).addMBB(FuncInfo->MBB);
1636 FuncInfo->MBB = SDB->SwitchCases[i].ThisBB;
1637 FuncInfo->InsertPt = FuncInfo->MBB->end();
1645 // Emit the code. Note that this could result in FuncInfo->MBB being split.
1646 SDB->visitSwitchCase(SDB->SwitchCases[i], FuncInfo->MBB);
1653 MachineBasicBlock *ThisBB = FuncInfo->MBB;
1660 FuncInfo->MBB = Succs[i];
1661 FuncInfo->InsertPt = FuncInfo->MBB->end();
1662 // FuncInfo->MBB may have been removed from the CFG if a branch was
1664 if (ThisBB->isSuccessor(FuncInfo->MBB)) {
1666 MBBI = FuncInfo->MBB->begin(), MBBE = FuncInfo->MBB->end();
1671 assert(pn != FuncInfo->PHINodesToUpdate.size() &&
1673 if (FuncInfo->PHINodesToUpdate[pn].first == PHI) {
1674 PHI.addReg(FuncInfo->PHINodesToUpdate[pn].second).addMBB(ThisBB);