Lines Matching refs:DFG

127   auto SNA = DFG.addr<RefNode*>(Start);  in getAllReachingDefs()
131 for (auto S : DFG.getRelatedRefs(RefA.Addr->getOwner(DFG), RefA)) in getAllReachingDefs()
143 auto TA = DFG.addr<DefNode*>(DefQ[i]); in getAllReachingDefs()
147 RegisterRef RR = TA.Addr->getRegRef(DFG); in getAllReachingDefs()
148 if (!DFG.IsPreservingDef(TA)) in getAllReachingDefs()
153 for (auto S : DFG.getRelatedRefs(TA.Addr->getOwner(DFG), TA)) in getAllReachingDefs()
167 NodeAddr<BlockNode*> BA = PA.Addr->getOwner(DFG); in getAllReachingDefs()
178 auto TA = DFG.addr<DefNode*>(N); in getAllReachingDefs()
180 if (!IsPhi && !PRI.alias(RefRR, TA.Addr->getRegRef(DFG))) in getAllReachingDefs()
183 NodeAddr<InstrNode*> IA = TA.Addr->getOwner(DFG); in getAllReachingDefs()
191 NodeAddr<InstrNode*> OA = DFG.addr<InstrNode*>(A); in getAllReachingDefs()
192 NodeAddr<InstrNode*> OB = DFG.addr<InstrNode*>(B); in getAllReachingDefs()
272 auto TA = DFG.addr<InstrNode*>(T); in getAllReachingDefs()
273 bool IsPhi = DFG.IsCode<NodeAttrs::Phi>(TA); in getAllReachingDefs()
275 for (NodeAddr<DefNode*> DA : TA.Addr->members_if(DefInSet, DFG)) { in getAllReachingDefs()
276 RegisterRef QR = DA.Addr->getRegRef(DFG); in getAllReachingDefs()
295 RRs.insert(DA.Addr->getRegRef(DFG)); in getAllReachingDefs()
322 const auto DA = DFG.addr<const DefNode*>(D); in getAllReachingDefsRecImpl()
324 DefRRs.insert(DA.Addr->getRegRef(DFG)); 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()
384 if (DFG.IsDef(R)) { in getNearestAliasedRef()
404 BA = DFG.findBlock(N->getBlock()); in getNearestAliasedRef()
409 Ins = BA.Addr->members(DFG); in getNearestAliasedRef()
431 auto UA = DFG.addr<UseNode*>(U); in getAllReachedUses()
433 RegisterRef UR = UA.Addr->getRegRef(DFG); in getAllReachedUses()
442 auto DA = DFG.addr<DefNode*>(D); in getAllReachedUses()
444 RegisterRef DR = DA.Addr->getRegRef(DFG); in getAllReachedUses()
450 if (DFG.IsPreservingDef(DA)) { in getAllReachedUses()
467 NodeAddr<FuncNode*> FA = DFG.getFunc(); in computePhiInfo()
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()
492 if (!DFG.IsRef<NodeAttrs::Def>(R)) in computePhiInfo()
494 DRs.insert(R.Addr->getRegRef(DFG)); in computePhiInfo()
506 NodeAddr<DefNode*> DA = DFG.addr<DefNode*>(DefQ[i]); in computePhiInfo()
512 NodeAddr<UseNode*> A = DFG.addr<UseNode*>(UN); in computePhiInfo()
515 RegisterRef R = A.Addr->getRegRef(DFG); in computePhiInfo()
525 NodeAddr<DefNode*> A = DFG.addr<DefNode*>(DN); in computePhiInfo()
526 for (auto T : DFG.getRelatedRefs(A.Addr->getOwner(DFG), A)) { in computePhiInfo()
557 auto UA = DFG.addr<UseNode*>(I.first); in computePhiInfo()
566 Covered.insert(DA.Addr->getRegRef(DFG)); in computePhiInfo()
591 if (!DFG.IsRef<NodeAttrs::Use>(I) || SeenUses.count(I.Id)) in computePhiInfo()
597 RegisterRef UR = PUA.Addr->getRegRef(DFG); in computePhiInfo()
603 NodeId RP = D.Addr->getOwner(DFG).Id; in computePhiInfo()
611 DefRRs.insert(D.Addr->getRegRef(DFG)); in computePhiInfo()
614 for (NodeAddr<PhiUseNode*> T : DFG.getRelatedRefs(PhiA, PUA)) in computePhiInfo()
622 dbgs() << "phi " << Print<NodeId>(I.first, DFG) << " -> {"; in computePhiInfo()
624 dbgs() << ' ' << Print<NodeId>(R.first, DFG) in computePhiInfo()
625 << Print<RegisterAggr>(R.second, DFG); in computePhiInfo()
671 auto PA = DFG.addr<PhiNode*>(PhiUQ[i]); 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()
723 dbgs() << "phi " << Print<NodeId>(I.first, DFG); in computePhiInfo()
724 NodeAddr<PhiNode*> PA = DFG.addr<PhiNode*>(I.first); 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()
728 dbgs() << '<' << Print<RegisterRef>(RR, DFG) << '>'; in computePhiInfo()
732 dbgs() << " -> " << Print<RefMap>(I.second, DFG) << '\n'; in computePhiInfo()
741 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) { in computeLiveIns()
743 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) { in computeLiveIns()
744 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) in computeLiveIns()
750 MachineFunction &MF = DFG.getMF(); in computeLiveIns()
775 NodeAddr<FuncNode*> FA = DFG.getFunc(); in computeLiveIns()
776 NodeList Blocks = FA.Addr->members(DFG); in computeLiveIns()
782 for (auto P : BA.Addr->members_if(DFG.IsCode<NodeAttrs::Phi>, DFG)) in computeLiveIns()
791 << Print<RefMap>(I.second, DFG) << '\n'; 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()
823 auto PrA = DFG.addr<BlockNode*>(PUA.Addr->getPredecessor()); in computeLiveIns()
837 TA.insert(D.Addr->getRegRef(DFG)).intersect(S); in computeLiveIns()
844 for (NodeAddr<PhiUseNode*> T : DFG.getRelatedRefs(PA, PUA)) in computeLiveIns()
854 << Print<RefMap>(I.second, DFG) << '\n'; in computeLiveIns()
861 LiveMap[&MF.front()].insert(DFG.getLiveIns()); in computeLiveIns()
872 dbgs() << ' ' << Print<RegisterRef>(I, DFG); in computeLiveIns()
883 dbgs() << ' ' << Print<RegisterRef>(I, DFG); in computeLiveIns()
891 for (auto &B : DFG.getMF()) { in resetLiveIns()
906 for (auto &B : DFG.getMF()) in resetKills()
1021 dbgs() << " LiveIn: " << Print<RefMap>(LiveIn, DFG) << '\n'; in traverse()
1022 dbgs() << " Local: " << Print<RegisterAggr>(LiveMap[B], DFG) << '\n'; in traverse()
1032 dbgs() << " LiveIn: " << Print<RefMap>(LiveIn, DFG) << '\n'; in traverse()
1033 dbgs() << " Local: " << Print<RegisterAggr>(LiveMap[B], DFG) << '\n'; in traverse()
1052 auto DA = DFG.addr<DefNode*>(OR.first); in traverse()
1053 NodeAddr<InstrNode*> IA = DA.Addr->getOwner(DFG); in traverse()
1054 NodeAddr<BlockNode*> BA = IA.Addr->getOwner(DFG); in traverse()
1070 if (!DFG.IsPreservingDef(DA)) { 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()
1104 RRs.insert(TA.Addr->getRegRef(DFG)); in traverse()
1116 dbgs() << " LiveIn: " << Print<RefMap>(LiveIn, DFG) << '\n'; in traverse()
1117 dbgs() << " Local: " << Print<RegisterAggr>(LiveMap[B], DFG) << '\n'; in traverse()
1121 for (auto I : DFG.getFunc().Addr->findBlock(B, DFG).Addr->members(DFG)) { in traverse()
1125 for (NodeAddr<UseNode*> UA : IA.Addr->members_if(DFG.IsUse, DFG)) { in traverse()
1128 RegisterRef RR = UA.Addr->getRegRef(DFG); in traverse()
1137 dbgs() << " LiveIn: " << Print<RefMap>(LiveIn, DFG) << '\n'; in traverse()
1138 dbgs() << " Local: " << Print<RegisterAggr>(LiveMap[B], DFG) << '\n'; in traverse()
1154 dbgs() << " LiveIn: " << Print<RefMap>(LiveIn, DFG) << '\n'; in traverse()
1155 dbgs() << " Local: " << Print<RegisterAggr>(Local, DFG) << '\n'; in traverse()