• Home
  • Raw
  • Download

Lines Matching refs:dv

149   void Collapse(DomainValue *dv, unsigned domain);
169 DomainValue *dv = Avail.empty() ? in Alloc() local
172 dv->Dist = Distance; in Alloc()
174 dv->addDomain(domain); in Alloc()
175 return dv; in Alloc()
178 void ExeDepsFix::Recycle(DomainValue *dv) { in Recycle() argument
179 assert(dv && "Cannot recycle NULL"); in Recycle()
180 dv->clear(); in Recycle()
181 Avail.push_back(dv); in Recycle()
185 void ExeDepsFix::SetLiveReg(int rx, DomainValue *dv) { in SetLiveReg() argument
192 if (LiveRegs[rx] == dv) in SetLiveReg()
198 LiveRegs[rx] = dv; in SetLiveReg()
199 if (dv) ++dv->Refs; in SetLiveReg()
218 DomainValue *dv; in Force() local
219 if (LiveRegs && (dv = LiveRegs[rx])) { in Force()
220 if (dv->isCollapsed()) in Force()
221 dv->addDomain(domain); in Force()
222 else if (dv->hasDomain(domain)) in Force()
223 Collapse(dv, domain); in Force()
227 Collapse(dv, dv->getFirstDomain()); in Force()
239 void ExeDepsFix::Collapse(DomainValue *dv, unsigned domain) { in Collapse() argument
240 assert(dv->hasDomain(domain) && "Cannot collapse"); in Collapse()
243 while (!dv->Instrs.empty()) in Collapse()
244 TII->setExecutionDomain(dv->Instrs.pop_back_val(), domain); in Collapse()
245 dv->setSingleDomain(domain); in Collapse()
248 if (LiveRegs && dv->Refs > 1) in Collapse()
250 if (LiveRegs[rx] == dv) in Collapse()
348 if (DomainValue *dv = LiveRegs[rx]) { in visitSoftInstr() local
350 unsigned common = dv->getCommonDomains(available); in visitSoftInstr()
352 if (dv->isCollapsed()) { in visitSoftInstr()
380 DomainValue *dv = LiveRegs[rx]; in visitSoftInstr() local
382 if (!dv->getCommonDomains(available)) { in visitSoftInstr()
390 if (dv == *i) in visitSoftInstr()
392 else if (dv->Dist < (*i)->Dist) { in visitSoftInstr()
394 doms.insert(i, dv); in visitSoftInstr()
398 doms.push_back(dv); in visitSoftInstr()
403 DomainValue *dv = 0; in visitSoftInstr() local
405 if (!dv) { in visitSoftInstr()
406 dv = doms.pop_back_val(); in visitSoftInstr()
411 if (Merge(dv, latest)) continue; in visitSoftInstr()
420 if (!dv) in visitSoftInstr()
421 dv = Alloc(); in visitSoftInstr()
422 dv->Dist = Distance; in visitSoftInstr()
423 dv->AvailableDomains = available; in visitSoftInstr()
424 dv->Instrs.push_back(mi); in visitSoftInstr()
432 if (!LiveRegs || !LiveRegs[rx] || (mo.isDef() && LiveRegs[rx]!=dv)) { in visitSoftInstr()
434 SetLiveReg(rx, dv); in visitSoftInstr()