Lines Matching refs:LiveRegs
142 LiveReg *LiveRegs;
188 // LiveRegs manipulations.
266 /// Set LiveRegs[rx] = dv, updating reference counts.
269 assert(LiveRegs && "Must enter basic block first.");
271 if (LiveRegs[rx].Value == dv)
273 if (LiveRegs[rx].Value)
274 release(LiveRegs[rx].Value);
275 LiveRegs[rx].Value = retain(dv);
281 assert(LiveRegs && "Must enter basic block first.");
282 if (!LiveRegs[rx].Value)
285 release(LiveRegs[rx].Value);
286 LiveRegs[rx].Value = nullptr;
292 assert(LiveRegs && "Must enter basic block first.");
293 if (DomainValue *dv = LiveRegs[rx].Value) {
302 assert(LiveRegs[rx].Value && "Not live after collapse?");
303 LiveRegs[rx].Value->addDomain(domain);
322 if (LiveRegs && dv->Refs > 1)
324 if (LiveRegs[rx].Value == dv)
347 assert(LiveRegs && "no space allocated for live registers");
348 if (LiveRegs[rx].Value == B)
354 /// Set up LiveRegs by merging predecessor live-out values.
366 // Set up LiveRegs to represent registers entering MBB.
367 if (!LiveRegs)
368 LiveRegs = new LiveReg[NumRegs];
372 LiveRegs[rx].Value = nullptr;
373 LiveRegs[rx].Def = -(1 << 20);
383 LiveRegs[rx].Def = -1;
402 LiveRegs[rx].Def = std::max(LiveRegs[rx].Def, fi->second[rx].Def);
407 if (!LiveRegs[rx].Value) {
413 if (LiveRegs[rx].Value->isCollapsed()) {
415 unsigned Domain = LiveRegs[rx].Value->getFirstDomain();
423 merge(LiveRegs[rx].Value, pdv);
433 assert(LiveRegs && "Must enter basic block first.");
436 bool First = LiveOuts.insert(std::make_pair(MBB, LiveRegs)).second;
439 // LiveRegs was inserted in LiveOuts. Adjust all defs to be relative to
442 LiveRegs[i].Def -= CurInstr;
447 release(LiveRegs[i].Value);
448 delete[] LiveRegs;
450 LiveRegs = nullptr;
477 unsigned Clearance = CurInstr - LiveRegs[rx].Def;
504 // Break dependence on undef uses. Do this before updating LiveRegs below.
528 // Call breakDependence before setting LiveRegs[rx].Def.
534 LiveRegs[rx].Def = CurInstr;
611 if (LiveRegs)
617 DomainValue *dv = LiveRegs[rx].Value;
651 assert(LiveRegs && "no space allocated for live registers");
652 const LiveReg &LR = LiveRegs[rx];
692 assert(LiveRegs && "no space allocated for live registers");
693 if (LiveRegs[i].Value == Latest)
713 if (!LiveRegs[rx].Value || (mo.isDef() && LiveRegs[rx].Value != dv)) {
725 LiveRegs = nullptr;
746 // therefore the LiveRegs array.