Lines Matching refs:Intervals
83 bool tryAssignRegisters(SmallVectorImpl<LiveInterval *> &Intervals,
88 bool scavengeRegs(SmallVectorImpl<LiveInterval *> &Intervals) const;
107 GCNNSAReassign::tryAssignRegisters(SmallVectorImpl<LiveInterval *> &Intervals, in tryAssignRegisters() argument
109 unsigned NumRegs = Intervals.size(); in tryAssignRegisters()
112 if (VRM->hasPhys(Intervals[N]->reg())) in tryAssignRegisters()
113 LRM->unassign(*Intervals[N]); in tryAssignRegisters()
116 if (LRM->checkInterference(*Intervals[N], MCRegister::from(StartReg + N))) in tryAssignRegisters()
120 LRM->assign(*Intervals[N], MCRegister::from(StartReg + N)); in tryAssignRegisters()
141 GCNNSAReassign::scavengeRegs(SmallVectorImpl<LiveInterval *> &Intervals) const { in scavengeRegs()
142 unsigned NumRegs = Intervals.size(); in scavengeRegs()
152 if (tryAssignRegisters(Intervals, Reg)) in scavengeRegs()
278 SmallVector<LiveInterval *, 16> Intervals; in runOnMachineFunction() local
285 if (llvm::is_contained(Intervals, LI)) { in runOnMachineFunction()
287 Intervals.clear(); in runOnMachineFunction()
290 Intervals.push_back(LI); in runOnMachineFunction()
303 if (Intervals.empty()) in runOnMachineFunction()
309 : Intervals) dbgs() in runOnMachineFunction()
313 bool Success = scavengeRegs(Intervals); in runOnMachineFunction()
316 if (VRM->hasPhys(Intervals.back()->reg())) // Did not change allocation. in runOnMachineFunction()
335 if (VRM->hasPhys(Intervals[I]->reg())) in runOnMachineFunction()
336 LRM->unassign(*Intervals[I]); in runOnMachineFunction()
339 LRM->assign(*Intervals[I], OrigRegs[I]); in runOnMachineFunction()
348 << llvm::printReg((VRM->getPhys(Intervals.front()->reg())), TRI) in runOnMachineFunction()
350 << llvm::printReg((VRM->getPhys(Intervals.back()->reg())), TRI) in runOnMachineFunction()