Lines Matching refs:DFG
71 for (unsigned R = 0, RN = DFG.getTRI().getNumRegs(); R != RN; ++R) { in isLiveInstr()
84 if (!DFG.IsCode<NodeAttrs::Stmt>(IA)) in scanInstr()
88 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) { in scanInstr()
96 NodeAddr<InstrNode*> IA = DA.Addr->getOwner(DFG); in processDef()
97 for (NodeAddr<UseNode*> UA : IA.Addr->members_if(DFG.IsUse, DFG)) { in processDef()
101 for (NodeAddr<DefNode*> TA : DFG.getRelatedRefs(IA, DA)) in processDef()
128 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) in collect()
129 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) in collect()
135 auto RA = DFG.addr<RefNode*>(N); in collect()
136 if (DFG.IsDef(RA)) in collect()
145 auto RA = DFG.addr<RefNode*>(N); in collect()
146 dbgs() << PrintNode<RefNode*>(RA, DFG) << "\n"; in collect()
151 for (NodeAddr<DefNode*> DA : IA.Addr->members_if(DFG.IsDef, DFG)) in collect()
157 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) { in collect()
158 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) { in collect()
159 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) in collect()
162 if (DFG.IsCode<NodeAttrs::Stmt>(IA)) in collect()
168 dbgs() << "Dead instr: " << PrintNode<InstrNode*>(IA, DFG) << "\n"; in collect()
188 auto BA = DFG.addr<NodeBase*>(I); in erase()
191 DRNs.push_back(DFG.addr<RefNode*>(I)); in erase()
198 for (auto N : NodeAddr<CodeNode*>(BA).Addr->members(DFG)) in erase()
200 DINs.push_back(DFG.addr<InstrNode*>(I)); in erase()
223 dbgs() << " " << PrintNode<RefNode*>(RA, DFG) << '\n'; in erase()
224 if (DFG.IsUse(RA)) in erase()
225 DFG.unlinkUse(RA, true); in erase()
226 else if (DFG.IsDef(RA)) in erase()
227 DFG.unlinkDef(RA, true); in erase()
232 NodeAddr<BlockNode*> BA = IA.Addr->getOwner(DFG); in erase()
233 BA.Addr->removeMember(IA, DFG); in erase()
234 if (!DFG.IsCode<NodeAttrs::Stmt>(IA)) in erase()