Lines Matching defs:RR

412 void RefNode::setRegRef(RegisterRef RR, DataFlowGraph &G) {
415 RefData.PR = G.pack(RR);
587 // For a given instruction, check if there are any bits of RR that can remain
594 // Check if the definition of RR produces an unspecified value.
809 PhiUse DataFlowGraph::newPhiUse(Phi Owner, RegisterRef RR, Block PredB,
813 PUA.Addr->setRegRef(RR, *this);
824 Def DataFlowGraph::newDef(Instr Owner, RegisterRef RR, uint16_t Flags) {
827 DA.Addr->setRegRef(RR, *this);
924 for (RegisterRef RR : LiveIns.refs()) {
925 if (RR.isReg() && !isTracked(RR)) // isReg is likely guaranteed
929 Def DA = newDef(PA, RR, PhiFlags);
951 for (RegisterRef RR : EHRegs.refs()) {
952 if (RR.isReg() && !isTracked(RR))
957 Def DA = newDef(PA, RR, PhiFlags);
961 PhiUse PUA = newPhiUse(PA, RR, PBA);
1058 RegisterRef RR = PDA.Addr->getRegRef(*this);
1062 DefM[RR.Reg].push(DA);
1063 Defined.insert(RR.Reg);
1064 for (RegisterId A : getPRI().getAliasSet(RR.Reg)) {
1068 assert(A != RR.Reg);
1106 RegisterRef RR = PDA.Addr->getRegRef(*this);
1110 if (!Defined.insert(RR.Reg).second) {
1112 dbgs() << "Multiple definitions of register: " << Print(RR, *this)
1120 DefM[RR.Reg].push(DA);
1121 for (RegisterId A : getPRI().getAliasSet(RR.Reg)) {
1125 assert(A != RR.Reg);
1176 RegisterRef RR = RA.Addr->getRegRef(*this);
1181 return RA.Addr->getNextRef(RR, Cond, true, *this);
1194 return RA.Addr->getNextRef(RR, Cond, true, *this);
1341 RegisterRef RR = makeRegRef(Op);
1346 if (isDefUndef(In, RR))
1400 RegisterRef RR = RA.Addr->getRegRef(*this);
1401 if (RR.isReg() && isTracked(RR))
1402 Defs.insert(RR);
1441 for (RegisterRef RR : Defs.refs()) {
1443 PA.Addr->addMember(newDef(PA, RR, PhiFlags), *this);
1447 PA.Addr->addMember(newPhiUse(PA, RR, PBA), *this);
1510 RegisterRef RR = TA.Addr->getRegRef(*this);
1520 // seen. If this completes a cover of RR, stop the stack traversal.
1522 bool Cover = Defs.insert(QR).hasCoverOf(RR);
1560 RegisterRef RR = RA.Addr->getRegRef(*this);
1563 assert(Kind != NodeAttrs::Def || !Defs.count(RR));
1564 Defs.insert(RR);
1567 auto F = DefM.find(RR.Reg);
1648 RegisterRef RR = PUA.Addr->getRegRef(*this);
1649 linkRefUp<UseNode *>(IA, PUA, DefM[RR.Reg]);
1775 bool DataFlowGraph::isTracked(RegisterRef RR) const {
1776 return !disjoint(getPRI().getUnits(RR), TrackedUnits);
1784 RegisterRef RR = R.Addr->getRegRef(*this);
1785 if (IgnoreReserved && RR.isReg() && ReservedRegs[RR.idx()])
1787 if (!isTracked(RR))