Lines Matching defs:DA
440 void DefNode::linkToDef(NodeId Self, Def DA) {
441 RefData.RD = DA.Id;
442 RefData.Sib = DA.Addr->getReachedDef();
443 DA.Addr->setReachedDef(Self);
447 void UseNode::linkToDef(NodeId Self, Def DA) {
448 RefData.RD = DA.Id;
449 RefData.Sib = DA.Addr->getReachedUse();
450 DA.Addr->setReachedUse(Self);
793 Def DA = NA;
794 DA.Addr->setReachedDef(0);
795 DA.Addr->setReachedUse(0);
819 Def DA = newNode(NodeAttrs::Ref | NodeAttrs::Def | Flags);
820 DA.Addr->setRegRef(&Op, *this);
821 return DA;
825 Def DA = newNode(NodeAttrs::Ref | NodeAttrs::Def | Flags);
827 DA.Addr->setRegRef(RR, *this);
828 return DA;
929 Def DA = newDef(PA, RR, PhiFlags);
930 PA.Addr->addMember(DA, *this);
957 Def DA = newDef(PA, RR, PhiFlags);
958 PA.Addr->addMember(DA, *this);
1050 for (Def DA : IA.Addr->members_if(IsDef, *this)) {
1051 if (Visited.count(DA.Id))
1053 if (!(DA.Addr->getFlags() & NodeAttrs::Clobbering))
1056 NodeList Rel = getRelatedRefs(IA, DA);
1062 DefM[RR.Reg].push(DA);
1070 DefM[A].push(DA);
1098 for (Def DA : IA.Addr->members_if(IsDef, *this)) {
1099 if (Visited.count(DA.Id))
1101 if (DA.Addr->getFlags() & NodeAttrs::Clobbering)
1104 NodeList Rel = getRelatedRefs(IA, DA);
1120 DefM[RR.Reg].push(DA);
1126 DefM[A].push(DA);
1307 Def DA = newDef(SA, Op, Flags);
1308 SA.Addr->addMember(DA, *this);
1320 Def DA = newDef(SA, Op, Flags);
1321 SA.Addr->addMember(DA, *this);
1358 Def DA = newDef(SA, Op, Flags);
1359 SA.Addr->addMember(DA, *this);
1470 Def DA = M;
1471 if (DA.Addr->getReachedDef() != 0 || DA.Addr->getReachedUse() != 0)
1685 // Remove the def node DA from any data-flow and structural links.
1686 void DataFlowGraph::unlinkDefDF(Def DA) {
1694 // ... -- | DA | -- ... -- 0 : sibling chain of DA
1705 NodeId RD = DA.Addr->getReachingDef();
1708 // Also, defs reached by DA are now "promoted" to being reached by RD,
1710 // DA belongs.
1721 NodeList ReachedDefs = getAllNodes(DA.Addr->getReachedDef());
1722 NodeList ReachedUses = getAllNodes(DA.Addr->getReachedUse());
1735 NodeId Sib = DA.Addr->getSibling();
1741 // Update the reaching def node and remove DA from the sibling list.
1744 if (TA.Id == DA.Id) {
1745 // If DA is the first reached def, just update the RD's reached def
1746 // to the DA's sibling.
1750 // DA from it.
1753 if (S == DA.Id) {
1761 // Splice the DA's reached defs into the RDA's reached def chain.
1767 // Splice the DA's reached uses into the RDA's reached use chain.