Lines Matching refs:Addr

120   if (RefA.Addr->getFlags() & NodeAttrs::Undef)  in getAllReachingDefs()
128 if (NodeId RD = SNA.Addr->getReachingDef()) in getAllReachingDefs()
131 for (auto S : DFG.getRelatedRefs(RefA.Addr->getOwner(DFG), RefA)) in getAllReachingDefs()
132 if (NodeId RD = NodeAddr<RefNode*>(S).Addr->getReachingDef()) in getAllReachingDefs()
144 if (TA.Addr->getFlags() & NodeAttrs::PhiRef) in getAllReachingDefs()
147 RegisterRef RR = TA.Addr->getRegRef(DFG); in getAllReachingDefs()
153 for (auto S : DFG.getRelatedRefs(TA.Addr->getOwner(DFG), TA)) in getAllReachingDefs()
154 if (NodeId RD = NodeAddr<RefNode*>(S).Addr->getReachingDef()) in getAllReachingDefs()
163 if (IA.Addr->getKind() == NodeAttrs::Stmt) in getAllReachingDefs()
164 return NodeAddr<StmtNode*>(IA).Addr->getCode()->getParent(); in getAllReachingDefs()
165 assert(IA.Addr->getKind() == NodeAttrs::Phi); in getAllReachingDefs()
167 NodeAddr<BlockNode*> BA = PA.Addr->getOwner(DFG); in getAllReachingDefs()
168 return BA.Addr->getCode(); in getAllReachingDefs()
179 bool IsPhi = TA.Addr->getFlags() & NodeAttrs::PhiRef; in getAllReachingDefs()
180 if (!IsPhi && !PRI.alias(RefRR, TA.Addr->getRegRef(DFG))) in getAllReachingDefs()
183 NodeAddr<InstrNode*> IA = TA.Addr->getOwner(DFG); in getAllReachingDefs()
193 bool StmtA = OA.Addr->getKind() == NodeAttrs::Stmt; in getAllReachingDefs()
194 bool StmtB = OB.Addr->getKind() == NodeAttrs::Stmt; in getAllReachingDefs()
196 const MachineInstr *InA = NodeAddr<StmtNode*>(OA).Addr->getCode(); in getAllReachingDefs()
197 const MachineInstr *InB = NodeAddr<StmtNode*>(OB).Addr->getCode(); in getAllReachingDefs()
265 return TA.Addr->getKind() == NodeAttrs::Def && in getAllReachingDefs()
275 for (NodeAddr<DefNode*> DA : TA.Addr->members_if(DefInSet, DFG)) { in getAllReachingDefs()
276 RegisterRef QR = DA.Addr->getRegRef(DFG); in getAllReachingDefs()
292 uint16_t Flags = DA.Addr->getFlags(); in getAllReachingDefs()
295 RRs.insert(DA.Addr->getRegRef(DFG)); in getAllReachingDefs()
300 return DA.Addr->getFlags() & NodeAttrs::Dead; in getAllReachingDefs()
323 if (!(DA.Addr->getFlags() & NodeAttrs::PhiRef)) in getAllReachingDefsRecImpl()
324 DefRRs.insert(DA.Addr->getRegRef(DFG)); in getAllReachingDefsRecImpl()
340 if (!(DA.Addr->getFlags() & NodeAttrs::PhiRef)) in getAllReachingDefsRecImpl()
342 NodeAddr<PhiNode*> PA = DA.Addr->getOwner(DFG); in getAllReachingDefsRecImpl()
346 for (auto U : PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG)) { in getAllReachingDefsRecImpl()
362 NodeAddr<BlockNode*> BA = IA.Addr->getOwner(DFG); in getNearestAliasedRef()
363 NodeList Ins = BA.Addr->members(DFG); in getNearestAliasedRef()
377 NodeList Refs = I.Addr->members(DFG); in getNearestAliasedRef()
382 if (!PRI.alias(R.Addr->getRegRef(DFG), RefRR)) in getNearestAliasedRef()
386 if (!(R.Addr->getFlags() & NodeAttrs::Clobbering)) in getNearestAliasedRef()
400 MachineBasicBlock *BB = BA.Addr->getCode(); in getNearestAliasedRef()
409 Ins = BA.Addr->members(DFG); in getNearestAliasedRef()
428 bool IsDead = DefA.Addr->getFlags() & NodeAttrs::Dead; in getAllReachedUses()
429 NodeId U = !IsDead ? DefA.Addr->getReachedUse() : 0; in getAllReachedUses()
432 if (!(UA.Addr->getFlags() & NodeAttrs::Undef)) { in getAllReachedUses()
433 RegisterRef UR = UA.Addr->getRegRef(DFG); in getAllReachedUses()
437 U = UA.Addr->getSibling(); in getAllReachedUses()
441 for (NodeId D = DefA.Addr->getReachedDef(), NextD; D != 0; D = NextD) { in getAllReachedUses()
443 NextD = DA.Addr->getSibling(); in getAllReachedUses()
444 RegisterRef DR = DA.Addr->getRegRef(DFG); in getAllReachedUses()
468 NodeList Blocks = FA.Addr->members(DFG); in computePhiInfo()
470 auto Ps = BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG); in computePhiInfo()
484 NodeList PhiRefs = PhiA.Addr->members(DFG); in computePhiInfo()
494 DRs.insert(R.Addr->getRegRef(DFG)); in computePhiInfo()
509 bool IsDead = DA.Addr->getFlags() & NodeAttrs::Dead; in computePhiInfo()
510 NodeId UN = !IsDead ? DA.Addr->getReachedUse() : 0; in computePhiInfo()
513 uint16_t F = A.Addr->getFlags(); in computePhiInfo()
515 RegisterRef R = A.Addr->getRegRef(DFG); in computePhiInfo()
518 UN = A.Addr->getSibling(); in computePhiInfo()
523 NodeId DN = DA.Addr->getReachedDef(); in computePhiInfo()
526 for (auto T : DFG.getRelatedRefs(A.Addr->getOwner(DFG), A)) { in computePhiInfo()
527 uint16_t Flags = NodeAddr<DefNode*>(T).Addr->getFlags(); in computePhiInfo()
534 DN = A.Addr->getSibling(); in computePhiInfo()
559 assert((UA.Addr->getFlags() & NodeAttrs::Undef) == 0); in computePhiInfo()
566 Covered.insert(DA.Addr->getRegRef(DFG)); in computePhiInfo()
594 if (PUA.Addr->getReachingDef() == 0) in computePhiInfo()
597 RegisterRef UR = PUA.Addr->getRegRef(DFG); in computePhiInfo()
602 if (D.Addr->getFlags() & NodeAttrs::PhiRef) { in computePhiInfo()
603 NodeId RP = D.Addr->getOwner(DFG).Id; in computePhiInfo()
611 DefRRs.insert(D.Addr->getRegRef(DFG)); in computePhiInfo()
672 NodeList PUs = PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG); in computePhiInfo()
677 RegisterRef UR = UA.Addr->getRegRef(DFG); in computePhiInfo()
725 NodeList Ds = PA.Addr->members_if(DFG.IsRef<NodeAttrs::Def>, DFG); in computePhiInfo()
727 RegisterRef RR = NodeAddr<DefNode*>(Ds[0]).Addr->getRegRef(DFG); in computePhiInfo()
741 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) { in computeLiveIns()
742 MachineBasicBlock *BB = BA.Addr->getCode(); in computeLiveIns()
743 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) { in computeLiveIns()
744 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) in computeLiveIns()
776 NodeList Blocks = FA.Addr->members(DFG); in computeLiveIns()
780 MachineBasicBlock *MB = BA.Addr->getCode(); in computeLiveIns()
782 for (auto P : BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG)) in computeLiveIns()
798 NodeList Phis = BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG); in computeLiveIns()
805 for (auto U : PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG)) { in computeLiveIns()
809 if (PUA.Addr->getReachingDef() == 0) in computeLiveIns()
823 auto PrA = DFG.addr<BlockNode*>(PUA.Addr->getPredecessor()); in computeLiveIns()
824 RefMap &LOX = PhiLOX[PrA.Addr->getCode()]; in computeLiveIns()
837 TA.insert(D.Addr->getRegRef(DFG)).intersect(S); in computeLiveIns()
1053 NodeAddr<InstrNode*> IA = DA.Addr->getOwner(DFG); in traverse()
1054 NodeAddr<BlockNode*> BA = IA.Addr->getOwner(DFG); in traverse()
1055 if (B != BA.Addr->getCode()) { in traverse()
1071 assert(!(IA.Addr->getFlags() & NodeAttrs::Phi)); in traverse()
1076 if (RRs.insert(DA.Addr->getRegRef(DFG)).hasCoverOf(LRef)) in traverse()
1087 NodeAddr<InstrNode*> ITA = TA.Addr->getOwner(DFG); in traverse()
1088 NodeAddr<BlockNode*> BTA = ITA.Addr->getOwner(DFG); in traverse()
1090 if (BTA.Addr->getCode() != B) { in traverse()
1103 if (!(TA.Addr->getFlags() & NodeAttrs::Preserving)) in traverse()
1104 RRs.insert(TA.Addr->getRegRef(DFG)); in traverse()
1121 for (auto I : DFG.getFunc().Addr->findBlock(B, DFG).Addr->members(DFG)) { in traverse()
1123 if (IA.Addr->getKind() != NodeAttrs::Stmt) in traverse()
1125 for (NodeAddr<UseNode*> UA : IA.Addr->members_if(DFG.IsUse, DFG)) { in traverse()
1126 if (UA.Addr->getFlags() & NodeAttrs::Undef) in traverse()
1128 RegisterRef RR = UA.Addr->getRegRef(DFG); in traverse()