Lines Matching refs:IA
1027 void DataFlowGraph::pushAllDefs(Instr IA, DefStackMap &DefM) { in pushAllDefs() argument
1028 pushClobbers(IA, DefM); in pushAllDefs()
1029 pushDefs(IA, DefM); in pushAllDefs()
1034 void DataFlowGraph::pushClobbers(Instr IA, DefStackMap &DefM) { in pushClobbers() argument
1050 for (Def DA : IA.Addr->members_if(IsDef, *this)) { in pushClobbers()
1056 NodeList Rel = getRelatedRefs(IA, DA); in pushClobbers()
1080 void DataFlowGraph::pushDefs(Instr IA, DefStackMap &DefM) { in pushDefs() argument
1098 for (Def DA : IA.Addr->members_if(IsDef, *this)) { in pushDefs()
1104 NodeList Rel = getRelatedRefs(IA, DA); in pushDefs()
1111 MachineInstr *MI = Stmt(IA).Addr->getCode(); in pushDefs()
1136 NodeList DataFlowGraph::getRelatedRefs(Instr IA, Ref RA) const { in getRelatedRefs() argument
1137 assert(IA.Id != 0 && RA.Id != 0); in getRelatedRefs()
1143 RA = getNextRelated(IA, RA); in getRelatedRefs()
1163 Ref DataFlowGraph::getNextRelated(Instr IA, Ref RA) const { in getNextRelated() argument
1164 assert(IA.Id != 0 && RA.Id != 0); in getNextRelated()
1177 if (IA.Addr->getKind() == NodeAttrs::Stmt) { in getNextRelated()
1184 assert(IA.Addr->getKind() == NodeAttrs::Phi); in getNextRelated()
1203 std::pair<Ref, Ref> DataFlowGraph::locateNextRef(Instr IA, Ref RA, in locateNextRef() argument
1205 assert(IA.Id != 0 && RA.Id != 0); in locateNextRef()
1210 NA = getNextRelated(IA, RA); in locateNextRef()
1225 Ref DataFlowGraph::getNextShadow(Instr IA, Ref RA, bool Create) { in getNextShadow() argument
1226 assert(IA.Id != 0 && RA.Id != 0); in getNextShadow()
1232 auto Loc = locateNextRef(IA, RA, IsShadow); in getNextShadow()
1239 IA.Addr->addMemberAfter(Loc.first, NA, *this); in getNextShadow()
1398 for (Instr IA : BA.Addr->members(*this)) { in recordDefsForDF() local
1399 for (Ref RA : IA.Addr->members_if(IsDef, *this)) { in recordDefsForDF()
1507 void DataFlowGraph::linkRefUp(Instr IA, NodeAddr<T> TA, DefStack &DS) { in linkRefUp() argument
1538 TAP = getNextShadow(IA, TAP, true); in linkRefUp()
1597 for (Instr IA : BA.Addr->members(*this)) { in linkBlockRefs() local
1600 if (IA.Addr->getKind() == NodeAttrs::Stmt) { in linkBlockRefs()
1601 linkStmtRefs(DefM, IA, IsUse); in linkBlockRefs()
1602 linkStmtRefs(DefM, IA, IsClobber); in linkBlockRefs()
1606 pushClobbers(IA, DefM); in linkBlockRefs()
1608 if (IA.Addr->getKind() == NodeAttrs::Stmt) in linkBlockRefs()
1609 linkStmtRefs(DefM, IA, IsNoClobber); in linkBlockRefs()
1611 pushDefs(IA, DefM); in linkBlockRefs()
1636 for (Instr IA : SBA.Addr->members_if(IsPhi, *this)) { in linkBlockRefs() local
1640 Ref RA = IA.Addr->getFirstMember(*this); in linkBlockRefs()
1646 for (auto U : IA.Addr->members_if(IsUseForBA, *this)) { in linkBlockRefs()
1649 linkRefUp<UseNode *>(IA, PUA, DefM[RR.Reg]); in linkBlockRefs()