• Home
  • Raw
  • Download

Lines Matching refs:dv

179   void collapse(DomainValue *dv, unsigned domain);
201 DomainValue *dv = Avail.empty() ? in alloc() local
205 dv->addDomain(domain); in alloc()
206 assert(dv->Refs == 0 && "Reference count wasn't cleared"); in alloc()
207 assert(!dv->Next && "Chained DomainValue shouldn't have been recycled"); in alloc()
208 return dv; in alloc()
250 void ExeDepsFix::setLiveReg(int rx, DomainValue *dv) { in setLiveReg() argument
254 if (LiveRegs[rx].Value == dv) in setLiveReg()
258 LiveRegs[rx].Value = retain(dv); in setLiveReg()
276 if (DomainValue *dv = LiveRegs[rx].Value) { in force() local
277 if (dv->isCollapsed()) in force()
278 dv->addDomain(domain); in force()
279 else if (dv->hasDomain(domain)) in force()
280 collapse(dv, domain); in force()
284 collapse(dv, dv->getFirstDomain()); in force()
296 void ExeDepsFix::collapse(DomainValue *dv, unsigned domain) { in collapse() argument
297 assert(dv->hasDomain(domain) && "Cannot collapse"); in collapse()
300 while (!dv->Instrs.empty()) in collapse()
301 TII->setExecutionDomain(dv->Instrs.pop_back_val(), domain); in collapse()
302 dv->setSingleDomain(domain); in collapse()
305 if (LiveRegs && dv->Refs > 1) in collapse()
307 if (LiveRegs[rx].Value == dv) in collapse()
546 if (DomainValue *dv = LiveRegs[rx].Value) { in visitSoftInstr() local
548 unsigned common = dv->getCommonDomains(available); in visitSoftInstr()
550 if (dv->isCollapsed()) { in visitSoftInstr()
599 DomainValue *dv = 0; in visitSoftInstr() local
601 if (!dv) { in visitSoftInstr()
602 dv = Regs.pop_back_val().Value; in visitSoftInstr()
604 dv->AvailableDomains = dv->getCommonDomains(available); in visitSoftInstr()
605 assert(dv->AvailableDomains && "Domain should have been filtered"); in visitSoftInstr()
611 if (Latest == dv || Latest->Next) in visitSoftInstr()
613 if (merge(dv, Latest)) in visitSoftInstr()
623 if (!dv) { in visitSoftInstr()
624 dv = alloc(); in visitSoftInstr()
625 dv->AvailableDomains = available; in visitSoftInstr()
627 dv->Instrs.push_back(mi); in visitSoftInstr()
635 if (!LiveRegs[rx].Value || (mo.isDef() && LiveRegs[rx].Value != dv)) { in visitSoftInstr()
637 setLiveReg(rx, dv); in visitSoftInstr()