Lines Matching refs:MBB

58   MachineBasicBlock *MBB = nullptr;  member
62 MIRef(MachineBasicBlock *MBB) : MBB(MBB) { in MIRef()
63 for (auto I = MBB->begin(), E = MBB->end(); I != E && I->isPHI(); in MIRef()
68 : MI(MI), MBB(MI->getParent()), in MIRef()
69 Pos(std::distance(MBB->instr_begin(), ++MI->getIterator())) {} in MIRef()
70 MIRef(MachineInstr *MI, MachineBasicBlock *MBB) in MIRef()
71 : MI(MI), MBB(MBB), in MIRef()
72 Pos(std::distance(MBB->instr_begin(), ++MI->getIterator())) {} in MIRef()
73 MIRef(MachineInstr *MI, MachineBasicBlock *MBB, size_t Pos) in MIRef()
74 : MI(MI), MBB(MBB), Pos(Pos) {} in MIRef()
75 operator bool() const { return MBB != nullptr; } in operator bool()
77 return MI == RHS.MI && MBB == RHS.MBB; in operator ==()
83 return MBB < RHS.MBB || (MBB == RHS.MBB && Pos < RHS.Pos); in operator <()
88 return MBB > RHS.MBB || (MBB == RHS.MBB && Pos > RHS.Pos); in operator >()
148 bool hoistShapesInBB(MachineBasicBlock *MBB, SmallVectorImpl<MIRef> &Shapes) { in hoistShapesInBB() argument
149 MIRef &FirstAMX = BBVisitedInfo[MBB].FirstAMX; in hoistShapesInBB()
165 MBB->insert(InsertPoint, I->MI->removeFromParent()); in hoistShapesInBB()
169 Shapes.push_back(MIRef(&*--InsertPoint, MBB)); in hoistShapesInBB()
212 auto RecordShape = [&](MachineInstr *MI, MachineBasicBlock *MBB) { in INITIALIZE_PASS_DEPENDENCY() argument
213 MIRef MIR(MI, MBB); in INITIALIZE_PASS_DEPENDENCY()
214 auto I = llvm::lower_bound(ShapeBBs[MBB], MIR); in INITIALIZE_PASS_DEPENDENCY()
215 if (I == ShapeBBs[MBB].end() || *I != MIR) in INITIALIZE_PASS_DEPENDENCY()
216 ShapeBBs[MBB].insert(I, MIR); in INITIALIZE_PASS_DEPENDENCY()
260 for (auto &MBB : MF) { in runOnMachineFunction() local
262 for (auto &MI : MBB) { in runOnMachineFunction()
266 if (BBVisitedInfo[&MBB].LastCall) in runOnMachineFunction()
267 CfgNeedInsert.insert(BBVisitedInfo[&MBB].LastCall); in runOnMachineFunction()
269 BBVisitedInfo[&MBB].NeedTileCfgLiveIn = true; in runOnMachineFunction()
271 if (!BBVisitedInfo[&MBB].FirstAMX) in runOnMachineFunction()
272 BBVisitedInfo[&MBB].FirstAMX = MIRef(&MI, &MBB, Pos); in runOnMachineFunction()
275 BBVisitedInfo[&MBB].LastCall = MIRef(&MI, &MBB, Pos); in runOnMachineFunction()
278 if (BBVisitedInfo[&MBB].NeedTileCfgLiveIn) { in runOnMachineFunction()
279 if (&MBB == &MF.front()) in runOnMachineFunction()
280 CfgNeedInsert.insert(MIRef(&MBB)); in runOnMachineFunction()
282 CfgLiveInBBs.push_back(&MBB); in runOnMachineFunction()
284 if (BBVisitedInfo[&MBB].FirstAMX || BBVisitedInfo[&MBB].HasAMXRegLiveIn) in runOnMachineFunction()
285 for (auto *Succ : MBB.successors()) in runOnMachineFunction()
286 if (!isLoopBackEdge(Succ, &MBB)) in runOnMachineFunction()
292 MachineBasicBlock *MBB = CfgLiveInBBs.pop_back_val(); in runOnMachineFunction() local
293 for (auto *Pred : MBB->predecessors()) { in runOnMachineFunction()
330 MachineBasicBlock *MBB = WorkList.pop_back_val(); in runOnMachineFunction() local
331 for (auto *Pred : MBB->predecessors()) { in runOnMachineFunction()
332 if (!BBVisitedInfo[Pred].TileCfgForbidden && !isLoopBackEdge(MBB, Pred)) { in runOnMachineFunction()
351 if (!BBVisitedInfo[I.MBB].TileCfgForbidden) { in runOnMachineFunction()
359 for (auto *Succ : I.MBB->successors()) in runOnMachineFunction()
369 if (ShapeBBs.count(I.MBB) && I < ShapeBBs[I.MBB].back()) in runOnMachineFunction()
370 I = ShapeBBs[I.MBB].back(); in runOnMachineFunction()
374 auto II = I.MI ? I.MI->getIterator() : I.MBB->instr_begin(); in runOnMachineFunction()
375 addFrameReference(BuildMI(*I.MBB, ++II, DL, TII->get(X86::PLDTILECFGV)), in runOnMachineFunction()
382 MachineBasicBlock &MBB = MF.front(); in runOnMachineFunction() local
383 MachineInstr *MI = &*MBB.begin(); in runOnMachineFunction()
386 BuildMI(MBB, MI, DL, TII->get(X86::AVX512_512_SET0), Zmm); in runOnMachineFunction()
387 addFrameReference(BuildMI(MBB, MI, DL, TII->get(X86::VMOVUPSZmr)), SS) in runOnMachineFunction()
391 BuildMI(MBB, MI, DL, TII->get(X86::AVX_SET0), Ymm); in runOnMachineFunction()
392 addFrameReference(BuildMI(MBB, MI, DL, TII->get(X86::VMOVUPSYmr)), SS) in runOnMachineFunction()
394 addFrameReference(BuildMI(MBB, MI, DL, TII->get(X86::VMOVUPSYmr)), SS, 32) in runOnMachineFunction()
400 BuildMI(MBB, MI, DL, TII->get(X86::V_SET0), Xmm); in runOnMachineFunction()
401 addFrameReference(BuildMI(MBB, MI, DL, TII->get(StoreOpc)), SS).addReg(Xmm); in runOnMachineFunction()
402 addFrameReference(BuildMI(MBB, MI, DL, TII->get(StoreOpc)), SS, 16) in runOnMachineFunction()
404 addFrameReference(BuildMI(MBB, MI, DL, TII->get(StoreOpc)), SS, 32) in runOnMachineFunction()
406 addFrameReference(BuildMI(MBB, MI, DL, TII->get(StoreOpc)), SS, 48) in runOnMachineFunction()
410 addFrameReference(BuildMI(MBB, MI, DL, TII->get(X86::MOV8mi)), SS).addImm(1); in runOnMachineFunction()