Lines Matching defs:LiveRegDefs
165 /// LiveRegDefs - A set of physical registers and their definition
169 std::unique_ptr<SUnit*[]> LiveRegDefs;
367 LiveRegDefs.reset(new SUnit*[TRI->getNumRegs() + 1]());
540 /// Always update LiveRegDefs for a register dependence even if the current SU
551 /// LiveRegDefs[flags] = 3
565 SUnit *RegDef = LiveRegDefs[Pred.getReg()]; (void)RegDef;
568 LiveRegDefs[Pred.getReg()] = Pred.getSUnit();
580 if (!LiveRegDefs[CallResource])
593 LiveRegDefs[CallResource] = Def;
774 if (Succ.isAssignedRegDep() && LiveRegDefs[Succ.getReg()] == SU) {
777 LiveRegDefs[Succ.getReg()] = nullptr;
785 if (LiveRegDefs[CallResource] == SU)
792 LiveRegDefs[CallResource] = nullptr;
845 assert(LiveRegDefs[Pred.getReg()] == Pred.getSUnit() &&
848 LiveRegDefs[Pred.getReg()] = nullptr;
863 assert(!LiveRegDefs[CallResource]);
866 LiveRegDefs[CallResource] = SU;
879 assert(LiveRegDefs[CallResource]);
882 LiveRegDefs[CallResource] = nullptr;
891 if (!LiveRegDefs[Reg])
895 LiveRegDefs[Reg] = SU;
1295 static void CheckForLiveRegDef(SUnit *SU, unsigned Reg, SUnit **LiveRegDefs,
1303 if (!LiveRegDefs[*AliasI]) continue;
1306 if (LiveRegDefs[*AliasI] == SU) continue;
1309 if (Node && LiveRegDefs[*AliasI]->getNode() == Node)
1322 ArrayRef<SUnit*> LiveRegDefs,
1326 for (unsigned i = 1, e = LiveRegDefs.size()-1; i != e; ++i) {
1327 if (!LiveRegDefs[i]) continue;
1328 if (LiveRegDefs[i] == SU) continue;
1358 if (Pred.isAssignedRegDep() && LiveRegDefs[Pred.getReg()] != SU)
1359 CheckForLiveRegDef(Pred.getSUnit(), Pred.getReg(), LiveRegDefs.get(),
1383 CheckForLiveRegDef(SU, Reg, LiveRegDefs.get(), RegAdded, LRegs, TRI);
1395 CheckForLiveRegDef(SU, Reg, LiveRegDefs.get(), RegAdded, LRegs, TRI,
1408 if (LiveRegDefs[CallResource]) {
1419 ArrayRef(LiveRegDefs.get(), TRI->getNumRegs()),
1432 CheckForLiveRegDef(SU, Reg, LiveRegDefs.get(), RegAdded, LRegs, TRI);
1436 CheckForLiveRegDef(SU, Reg, LiveRegDefs.get(), RegAdded, LRegs, TRI);
1562 SUnit *LRDef = LiveRegDefs[Reg];
1593 LiveRegDefs[Reg] = NewDef;