Lines Matching refs:Addr

121   if (RefA.Addr->getFlags() & NodeAttrs::Undef)  in getAllReachingDefs()
129 if (NodeId RD = SNA.Addr->getReachingDef()) in getAllReachingDefs()
132 for (auto S : DFG.getRelatedRefs(RefA.Addr->getOwner(DFG), RefA)) in getAllReachingDefs()
133 if (NodeId RD = NodeAddr<RefNode*>(S).Addr->getReachingDef()) in getAllReachingDefs()
145 if (TA.Addr->getFlags() & NodeAttrs::PhiRef) in getAllReachingDefs()
148 RegisterRef RR = TA.Addr->getRegRef(DFG); in getAllReachingDefs()
154 for (auto S : DFG.getRelatedRefs(TA.Addr->getOwner(DFG), TA)) in getAllReachingDefs()
155 if (NodeId RD = NodeAddr<RefNode*>(S).Addr->getReachingDef()) in getAllReachingDefs()
164 if (IA.Addr->getKind() == NodeAttrs::Stmt) in getAllReachingDefs()
165 return NodeAddr<StmtNode*>(IA).Addr->getCode()->getParent(); in getAllReachingDefs()
166 assert(IA.Addr->getKind() == NodeAttrs::Phi); in getAllReachingDefs()
168 NodeAddr<BlockNode*> BA = PA.Addr->getOwner(DFG); in getAllReachingDefs()
169 return BA.Addr->getCode(); in getAllReachingDefs()
180 bool IsPhi = TA.Addr->getFlags() & NodeAttrs::PhiRef; in getAllReachingDefs()
181 if (!IsPhi && !PRI.alias(RefRR, TA.Addr->getRegRef(DFG))) in getAllReachingDefs()
184 NodeAddr<InstrNode*> IA = TA.Addr->getOwner(DFG); in getAllReachingDefs()
194 bool StmtA = OA.Addr->getKind() == NodeAttrs::Stmt; in getAllReachingDefs()
195 bool StmtB = OB.Addr->getKind() == NodeAttrs::Stmt; in getAllReachingDefs()
197 const MachineInstr *InA = NodeAddr<StmtNode*>(OA).Addr->getCode(); in getAllReachingDefs()
198 const MachineInstr *InB = NodeAddr<StmtNode*>(OB).Addr->getCode(); in getAllReachingDefs()
266 return TA.Addr->getKind() == NodeAttrs::Def && in getAllReachingDefs()
276 for (NodeAddr<DefNode*> DA : TA.Addr->members_if(DefInSet, DFG)) { in getAllReachingDefs()
277 RegisterRef QR = DA.Addr->getRegRef(DFG); in getAllReachingDefs()
293 uint16_t Flags = DA.Addr->getFlags(); in getAllReachingDefs()
296 RRs.insert(DA.Addr->getRegRef(DFG)); in getAllReachingDefs()
301 return DA.Addr->getFlags() & NodeAttrs::Dead; in getAllReachingDefs()
324 if (!(DA.Addr->getFlags() & NodeAttrs::PhiRef)) in getAllReachingDefsRecImpl()
325 DefRRs.insert(DA.Addr->getRegRef(DFG)); in getAllReachingDefsRecImpl()
341 if (!(DA.Addr->getFlags() & NodeAttrs::PhiRef)) in getAllReachingDefsRecImpl()
343 NodeAddr<PhiNode*> PA = DA.Addr->getOwner(DFG); in getAllReachingDefsRecImpl()
348 for (auto U : PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG)) { in getAllReachingDefsRecImpl()
364 NodeAddr<BlockNode*> BA = IA.Addr->getOwner(DFG); in getNearestAliasedRef()
365 NodeList Ins = BA.Addr->members(DFG); in getNearestAliasedRef()
379 NodeList Refs = I.Addr->members(DFG); in getNearestAliasedRef()
384 if (!PRI.alias(R.Addr->getRegRef(DFG), RefRR)) in getNearestAliasedRef()
388 if (!(R.Addr->getFlags() & NodeAttrs::Clobbering)) in getNearestAliasedRef()
402 MachineBasicBlock *BB = BA.Addr->getCode(); in getNearestAliasedRef()
411 Ins = BA.Addr->members(DFG); in getNearestAliasedRef()
430 bool IsDead = DefA.Addr->getFlags() & NodeAttrs::Dead; in getAllReachedUses()
431 NodeId U = !IsDead ? DefA.Addr->getReachedUse() : 0; in getAllReachedUses()
434 if (!(UA.Addr->getFlags() & NodeAttrs::Undef)) { in getAllReachedUses()
435 RegisterRef UR = UA.Addr->getRegRef(DFG); in getAllReachedUses()
439 U = UA.Addr->getSibling(); in getAllReachedUses()
443 for (NodeId D = DefA.Addr->getReachedDef(), NextD; D != 0; D = NextD) { in getAllReachedUses()
445 NextD = DA.Addr->getSibling(); in getAllReachedUses()
446 RegisterRef DR = DA.Addr->getRegRef(DFG); in getAllReachedUses()
470 NodeList Blocks = FA.Addr->members(DFG); in computePhiInfo()
472 auto Ps = BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG); in computePhiInfo()
486 NodeList PhiRefs = PhiA.Addr->members(DFG); in computePhiInfo()
496 DRs.insert(R.Addr->getRegRef(DFG)); in computePhiInfo()
511 bool IsDead = DA.Addr->getFlags() & NodeAttrs::Dead; in computePhiInfo()
512 NodeId UN = !IsDead ? DA.Addr->getReachedUse() : 0; in computePhiInfo()
515 uint16_t F = A.Addr->getFlags(); in computePhiInfo()
517 RegisterRef R = A.Addr->getRegRef(DFG); in computePhiInfo()
520 UN = A.Addr->getSibling(); in computePhiInfo()
525 NodeId DN = DA.Addr->getReachedDef(); in computePhiInfo()
528 for (auto T : DFG.getRelatedRefs(A.Addr->getOwner(DFG), A)) { in computePhiInfo()
529 uint16_t Flags = NodeAddr<DefNode*>(T).Addr->getFlags(); in computePhiInfo()
536 DN = A.Addr->getSibling(); in computePhiInfo()
561 assert((UA.Addr->getFlags() & NodeAttrs::Undef) == 0); in computePhiInfo()
568 Covered.insert(DA.Addr->getRegRef(DFG)); in computePhiInfo()
596 if (PUA.Addr->getReachingDef() == 0) in computePhiInfo()
599 RegisterRef UR = PUA.Addr->getRegRef(DFG); in computePhiInfo()
604 if (D.Addr->getFlags() & NodeAttrs::PhiRef) { in computePhiInfo()
605 NodeId RP = D.Addr->getOwner(DFG).Id; in computePhiInfo()
613 DefRRs.insert(D.Addr->getRegRef(DFG)); in computePhiInfo()
674 NodeList PUs = PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG); in computePhiInfo()
679 RegisterRef UR = UA.Addr->getRegRef(DFG); in computePhiInfo()
727 NodeList Ds = PA.Addr->members_if(DFG.IsRef<NodeAttrs::Def>, DFG); in computePhiInfo()
729 RegisterRef RR = NodeAddr<DefNode*>(Ds[0]).Addr->getRegRef(DFG); in computePhiInfo()
743 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) { in computeLiveIns()
744 MachineBasicBlock *BB = BA.Addr->getCode(); in computeLiveIns()
745 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) { in computeLiveIns()
746 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) in computeLiveIns()
778 NodeList Blocks = FA.Addr->members(DFG); in computeLiveIns()
782 MachineBasicBlock *MB = BA.Addr->getCode(); in computeLiveIns()
784 for (auto P : BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG)) in computeLiveIns()
800 NodeList Phis = BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG); in computeLiveIns()
807 for (auto U : PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG)) { in computeLiveIns()
811 if (PUA.Addr->getReachingDef() == 0) in computeLiveIns()
825 auto PrA = DFG.addr<BlockNode*>(PUA.Addr->getPredecessor()); in computeLiveIns()
826 RefMap &LOX = PhiLOX[PrA.Addr->getCode()]; in computeLiveIns()
839 TA.insert(D.Addr->getRegRef(DFG)).intersect(S); in computeLiveIns()
1055 NodeAddr<InstrNode*> IA = DA.Addr->getOwner(DFG); in traverse()
1056 NodeAddr<BlockNode*> BA = IA.Addr->getOwner(DFG); in traverse()
1057 if (B != BA.Addr->getCode()) { in traverse()
1073 assert(!(IA.Addr->getFlags() & NodeAttrs::Phi)); in traverse()
1078 if (RRs.insert(DA.Addr->getRegRef(DFG)).hasCoverOf(LRef)) in traverse()
1089 NodeAddr<InstrNode*> ITA = TA.Addr->getOwner(DFG); in traverse()
1090 NodeAddr<BlockNode*> BTA = ITA.Addr->getOwner(DFG); in traverse()
1092 if (BTA.Addr->getCode() != B) { in traverse()
1105 if (!(TA.Addr->getFlags() & NodeAttrs::Preserving)) in traverse()
1106 RRs.insert(TA.Addr->getRegRef(DFG)); in traverse()
1123 for (auto I : DFG.getFunc().Addr->findBlock(B, DFG).Addr->members(DFG)) { in traverse()
1125 if (IA.Addr->getKind() != NodeAttrs::Stmt) in traverse()
1127 for (NodeAddr<UseNode*> UA : IA.Addr->members_if(DFG.IsUse, DFG)) { in traverse()
1128 if (UA.Addr->getFlags() & NodeAttrs::Undef) in traverse()
1130 RegisterRef RR = UA.Addr->getRegRef(DFG); in traverse()