Lines Matching refs:DFG
73 if (!DFG.IsCode<NodeAttrs::Stmt>(IA)) in scanInstr()
77 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) { in scanInstr()
85 NodeAddr<InstrNode*> IA = DA.Addr->getOwner(DFG); in processDef()
86 for (NodeAddr<UseNode*> UA : IA.Addr->members_if(DFG.IsUse, DFG)) { in processDef()
90 for (NodeAddr<DefNode*> TA : DFG.getRelatedRefs(IA, DA)) in processDef()
117 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) in collect()
118 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) in collect()
124 auto RA = DFG.addr<RefNode*>(N); in collect()
125 if (DFG.IsDef(RA)) in collect()
134 auto RA = DFG.addr<RefNode*>(N); in collect()
135 dbgs() << PrintNode<RefNode*>(RA, DFG) << "\n"; in collect()
140 for (NodeAddr<DefNode*> DA : IA.Addr->members_if(DFG.IsDef, DFG)) in collect()
146 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) { in collect()
147 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) { in collect()
148 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) in collect()
151 if (DFG.IsCode<NodeAttrs::Stmt>(IA)) in collect()
157 dbgs() << "Dead instr: " << PrintNode<InstrNode*>(IA, DFG) << "\n"; in collect()
177 auto BA = DFG.addr<NodeBase*>(I); in erase()
180 DRNs.push_back(DFG.addr<RefNode*>(I)); in erase()
187 for (auto N : NodeAddr<CodeNode*>(BA).Addr->members(DFG)) in erase()
189 DINs.push_back(DFG.addr<InstrNode*>(I)); in erase()
212 dbgs() << " " << PrintNode<RefNode*>(RA, DFG) << '\n'; in erase()
213 if (DFG.IsUse(RA)) in erase()
214 DFG.unlinkUse(RA, true); in erase()
215 else if (DFG.IsDef(RA)) in erase()
216 DFG.unlinkDef(RA, true); in erase()
221 NodeAddr<BlockNode*> BA = IA.Addr->getOwner(DFG); in erase()
222 BA.Addr->removeMember(IA, DFG); in erase()
223 if (!DFG.IsCode<NodeAttrs::Stmt>(IA)) in erase()