Lines Matching refs:Addr

117   if (RefA.Addr->getFlags() & NodeAttrs::Undef)  in getAllReachingDefs()
125 if (NodeId RD = SNA.Addr->getReachingDef()) in getAllReachingDefs()
128 for (auto S : DFG.getRelatedRefs(RefA.Addr->getOwner(DFG), RefA)) in getAllReachingDefs()
129 if (NodeId RD = NodeAddr<RefNode *>(S).Addr->getReachingDef()) in getAllReachingDefs()
141 if (TA.Addr->getFlags() & NodeAttrs::PhiRef) in getAllReachingDefs()
144 RegisterRef RR = TA.Addr->getRegRef(DFG); in getAllReachingDefs()
150 for (auto S : DFG.getRelatedRefs(TA.Addr->getOwner(DFG), TA)) in getAllReachingDefs()
151 if (NodeId RD = NodeAddr<RefNode *>(S).Addr->getReachingDef()) in getAllReachingDefs()
160 if (IA.Addr->getKind() == NodeAttrs::Stmt) in getAllReachingDefs()
161 return NodeAddr<StmtNode *>(IA).Addr->getCode()->getParent(); in getAllReachingDefs()
162 assert(IA.Addr->getKind() == NodeAttrs::Phi); in getAllReachingDefs()
164 NodeAddr<BlockNode *> BA = PA.Addr->getOwner(DFG); in getAllReachingDefs()
165 return BA.Addr->getCode(); in getAllReachingDefs()
176 bool IsPhi = TA.Addr->getFlags() & NodeAttrs::PhiRef; in getAllReachingDefs()
177 if (!IsPhi && !PRI.alias(RefRR, TA.Addr->getRegRef(DFG))) in getAllReachingDefs()
180 NodeAddr<InstrNode *> IA = TA.Addr->getOwner(DFG); in getAllReachingDefs()
190 bool StmtA = OA.Addr->getKind() == NodeAttrs::Stmt; in getAllReachingDefs()
191 bool StmtB = OB.Addr->getKind() == NodeAttrs::Stmt; in getAllReachingDefs()
193 const MachineInstr *InA = NodeAddr<StmtNode *>(OA).Addr->getCode(); in getAllReachingDefs()
194 const MachineInstr *InB = NodeAddr<StmtNode *>(OB).Addr->getCode(); in getAllReachingDefs()
262 return TA.Addr->getKind() == NodeAttrs::Def && Defs.count(TA.Id); in getAllReachingDefs()
271 for (NodeAddr<DefNode *> DA : TA.Addr->members_if(DefInSet, DFG)) { in getAllReachingDefs()
272 RegisterRef QR = DA.Addr->getRegRef(DFG); in getAllReachingDefs()
288 uint16_t Flags = DA.Addr->getFlags(); in getAllReachingDefs()
291 RRs.insert(DA.Addr->getRegRef(DFG)); in getAllReachingDefs()
296 return DA.Addr->getFlags() & NodeAttrs::Dead; in getAllReachingDefs()
320 if (!(DA.Addr->getFlags() & NodeAttrs::PhiRef)) in getAllReachingDefsRecImpl()
321 DefRRs.insert(DA.Addr->getRegRef(DFG)); in getAllReachingDefsRecImpl()
337 if (!(DA.Addr->getFlags() & NodeAttrs::PhiRef)) in getAllReachingDefsRecImpl()
339 NodeAddr<PhiNode *> PA = DA.Addr->getOwner(DFG); in getAllReachingDefsRecImpl()
343 for (auto U : PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG)) { in getAllReachingDefsRecImpl()
359 NodeAddr<BlockNode *> BA = IA.Addr->getOwner(DFG); in getNearestAliasedRef()
360 NodeList Ins = BA.Addr->members(DFG); in getNearestAliasedRef()
374 NodeList Refs = I.Addr->members(DFG); in getNearestAliasedRef()
379 if (!PRI.alias(R.Addr->getRegRef(DFG), RefRR)) in getNearestAliasedRef()
383 if (!(R.Addr->getFlags() & NodeAttrs::Clobbering)) in getNearestAliasedRef()
397 MachineBasicBlock *BB = BA.Addr->getCode(); in getNearestAliasedRef()
406 Ins = BA.Addr->members(DFG); in getNearestAliasedRef()
425 bool IsDead = DefA.Addr->getFlags() & NodeAttrs::Dead; in getAllReachedUses()
426 NodeId U = !IsDead ? DefA.Addr->getReachedUse() : 0; in getAllReachedUses()
429 if (!(UA.Addr->getFlags() & NodeAttrs::Undef)) { in getAllReachedUses()
430 RegisterRef UR = UA.Addr->getRegRef(DFG); in getAllReachedUses()
434 U = UA.Addr->getSibling(); in getAllReachedUses()
438 for (NodeId D = DefA.Addr->getReachedDef(), NextD; D != 0; D = NextD) { in getAllReachedUses()
440 NextD = DA.Addr->getSibling(); in getAllReachedUses()
441 RegisterRef DR = DA.Addr->getRegRef(DFG); in getAllReachedUses()
465 NodeList Blocks = FA.Addr->members(DFG); in computePhiInfo()
467 auto Ps = BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG); in computePhiInfo()
482 NodeList PhiRefs = PhiA.Addr->members(DFG); in computePhiInfo()
492 DRs.insert(R.Addr->getRegRef(DFG)); in computePhiInfo()
507 bool IsDead = DA.Addr->getFlags() & NodeAttrs::Dead; in computePhiInfo()
508 NodeId UN = !IsDead ? DA.Addr->getReachedUse() : 0; in computePhiInfo()
511 uint16_t F = A.Addr->getFlags(); in computePhiInfo()
513 RegisterRef R = A.Addr->getRegRef(DFG); in computePhiInfo()
516 UN = A.Addr->getSibling(); in computePhiInfo()
521 NodeId DN = DA.Addr->getReachedDef(); in computePhiInfo()
524 for (auto T : DFG.getRelatedRefs(A.Addr->getOwner(DFG), A)) { in computePhiInfo()
525 uint16_t Flags = NodeAddr<DefNode *>(T).Addr->getFlags(); in computePhiInfo()
532 DN = A.Addr->getSibling(); in computePhiInfo()
557 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()
675 NodeList PUs = PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG); in computePhiInfo()
680 RegisterRef UR = UA.Addr->getRegRef(DFG); in computePhiInfo()
731 NodeList Ds = PA.Addr->members_if(DFG.IsRef<NodeAttrs::Def>, DFG); in computePhiInfo()
733 RegisterRef RR = NodeAddr<DefNode *>(Ds[0]).Addr->getRegRef(DFG); in computePhiInfo()
747 for (NodeAddr<BlockNode *> BA : DFG.getFunc().Addr->members(DFG)) { in computeLiveIns()
748 MachineBasicBlock *BB = BA.Addr->getCode(); in computeLiveIns()
749 for (NodeAddr<InstrNode *> IA : BA.Addr->members(DFG)) { in computeLiveIns()
750 for (NodeAddr<RefNode *> RA : IA.Addr->members(DFG)) in computeLiveIns()
782 NodeList Blocks = FA.Addr->members(DFG); in computeLiveIns()
786 MachineBasicBlock *MB = BA.Addr->getCode(); in computeLiveIns()
788 for (auto P : BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG)) { in computeLiveIns()
805 NodeList Phis = BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG); in computeLiveIns()
812 for (auto U : PA.Addr->members_if(DFG.IsRef<NodeAttrs::Use>, DFG)) { in computeLiveIns()
816 if (PUA.Addr->getReachingDef() == 0) in computeLiveIns()
830 auto PrA = DFG.addr<BlockNode *>(PUA.Addr->getPredecessor()); in computeLiveIns()
831 RefMap &LOX = PhiLOX[PrA.Addr->getCode()]; in computeLiveIns()
844 TA.insert(D.Addr->getRegRef(DFG)).intersect(S); in computeLiveIns()
1058 NodeAddr<InstrNode *> IA = DA.Addr->getOwner(DFG); in traverse()
1059 NodeAddr<BlockNode *> BA = IA.Addr->getOwner(DFG); in traverse()
1060 if (B != BA.Addr->getCode()) { in traverse()
1076 assert(!(IA.Addr->getFlags() & NodeAttrs::Phi)); in traverse()
1081 if (RRs.insert(DA.Addr->getRegRef(DFG)).hasCoverOf(LRef)) in traverse()
1092 NodeAddr<InstrNode *> ITA = TA.Addr->getOwner(DFG); in traverse()
1093 NodeAddr<BlockNode *> BTA = ITA.Addr->getOwner(DFG); in traverse()
1095 if (BTA.Addr->getCode() != B) { in traverse()
1108 if (!(TA.Addr->getFlags() & NodeAttrs::Preserving)) in traverse()
1109 RRs.insert(TA.Addr->getRegRef(DFG)); in traverse()
1126 for (auto I : DFG.getFunc().Addr->findBlock(B, DFG).Addr->members(DFG)) { in traverse()
1128 if (IA.Addr->getKind() != NodeAttrs::Stmt) in traverse()
1130 for (NodeAddr<UseNode *> UA : IA.Addr->members_if(DFG.IsUse, DFG)) { in traverse()
1131 if (UA.Addr->getFlags() & NodeAttrs::Undef) in traverse()
1133 RegisterRef RR = UA.Addr->getRegRef(DFG); in traverse()