Lines Matching refs:NodeAddr
71 void DeadCodeElimination::scanInstr(NodeAddr<InstrNode*> IA,
75 if (!isLiveInstr(NodeAddr<StmtNode*>(IA).Addr->getCode()))
77 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG)) {
83 void DeadCodeElimination::processDef(NodeAddr<DefNode*> DA,
85 NodeAddr<InstrNode*> IA = DA.Addr->getOwner(DFG);
86 for (NodeAddr<UseNode*> UA : IA.Addr->members_if(DFG.IsUse, DFG)) {
90 for (NodeAddr<DefNode*> TA : DFG.getRelatedRefs(IA, DA))
94 void DeadCodeElimination::processUse(NodeAddr<UseNode*> UA,
96 for (NodeAddr<DefNode*> DA : LV.getAllReachingDefs(UA)) {
117 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG))
118 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG))
139 auto IsDead = [this] (NodeAddr<InstrNode*> IA) -> bool {
140 for (NodeAddr<DefNode*> DA : IA.Addr->members_if(DFG.IsDef, DFG))
146 for (NodeAddr<BlockNode*> BA : DFG.getFunc().Addr->members(DFG)) {
147 for (NodeAddr<InstrNode*> IA : BA.Addr->members(DFG)) {
148 for (NodeAddr<RefNode*> RA : IA.Addr->members(DFG))
152 if (isLiveInstr(NodeAddr<StmtNode*>(IA).Addr->getCode()))
187 for (auto N : NodeAddr<CodeNode*>(BA).Addr->members(DFG))
198 auto UsesFirst = [] (NodeAddr<RefNode*> A, NodeAddr<RefNode*> B) -> bool {
210 for (NodeAddr<RefNode*> RA : DRNs) {
220 for (NodeAddr<InstrNode*> IA : DINs) {
221 NodeAddr<BlockNode*> BA = IA.Addr->getOwner(DFG);
226 MachineInstr *MI = NodeAddr<StmtNode*>(IA).Addr->getCode();