Lines Matching refs:MIRef

56 struct MIRef {  struct
61 MIRef() = default;
62 MIRef(MachineBasicBlock *MBB) : MBB(MBB) { in MIRef() function
67 MIRef(MachineInstr *MI) in MIRef() function
70 MIRef(MachineInstr *MI, MachineBasicBlock *MBB) in MIRef() function
73 MIRef(MachineInstr *MI, MachineBasicBlock *MBB, size_t Pos) in MIRef() argument
76 bool operator==(const MIRef &RHS) const { in operator ==() argument
79 bool operator!=(const MIRef &RHS) const { return !(*this == RHS); } in operator !=() argument
80 bool operator<(const MIRef &RHS) const { in operator <() argument
85 bool operator>(const MIRef &RHS) const { in operator >() argument
93 MIRef FirstAMX;
94 MIRef LastCall;
105 DenseMap<MachineBasicBlock *, SmallVector<MIRef, 8>> ShapeBBs;
148 bool hoistShapesInBB(MachineBasicBlock *MBB, SmallVectorImpl<MIRef> &Shapes) { in hoistShapesInBB()
149 MIRef &FirstAMX = BBVisitedInfo[MBB].FirstAMX; in hoistShapesInBB()
161 if (MO.isReg() && MIRef(MRI->getVRegDef(MO.getReg())) > FirstAMX) in hoistShapesInBB()
169 Shapes.push_back(MIRef(&*--InsertPoint, MBB)); in hoistShapesInBB()
213 MIRef MIR(MI, MBB); in INITIALIZE_PASS_DEPENDENCY()
258 SmallSet<MIRef, 8> CfgNeedInsert; in runOnMachineFunction()
272 BBVisitedInfo[&MBB].FirstAMX = MIRef(&MI, &MBB, Pos); in runOnMachineFunction()
275 BBVisitedInfo[&MBB].LastCall = MIRef(&MI, &MBB, Pos); in runOnMachineFunction()
280 CfgNeedInsert.insert(MIRef(&MBB)); in runOnMachineFunction()
299 CfgNeedInsert.insert(MIRef(Pred)); in runOnMachineFunction()
340 SmallSet<MIRef, 8> VisitedOrInserted; in runOnMachineFunction()
346 SmallSet<MIRef, 8> InsertPoints; in runOnMachineFunction()
347 SmallVector<MIRef, 8> WorkList({I}); in runOnMachineFunction()
349 MIRef I = WorkList.pop_back_val(); in runOnMachineFunction()
361 WorkList.push_back(MIRef(Succ)); in runOnMachineFunction()
367 for (MIRef I : InsertPoints) { in runOnMachineFunction()