Lines Matching defs:DA
439 void DefNode::linkToDef(NodeId Self, Def DA) {
440 RefData.RD = DA.Id;
441 RefData.Sib = DA.Addr->getReachedDef();
442 DA.Addr->setReachedDef(Self);
446 void UseNode::linkToDef(NodeId Self, Def DA) {
447 RefData.RD = DA.Id;
448 RefData.Sib = DA.Addr->getReachedUse();
449 DA.Addr->setReachedUse(Self);
792 Def DA = NA;
793 DA.Addr->setReachedDef(0);
794 DA.Addr->setReachedUse(0);
818 Def DA = newNode(NodeAttrs::Ref | NodeAttrs::Def | Flags);
819 DA.Addr->setRegRef(&Op, *this);
820 return DA;
824 Def DA = newNode(NodeAttrs::Ref | NodeAttrs::Def | Flags);
826 DA.Addr->setRegRef(RR, *this);
827 return DA;
928 Def DA = newDef(PA, RR, PhiFlags);
929 PA.Addr->addMember(DA, *this);
956 Def DA = newDef(PA, RR, PhiFlags);
957 PA.Addr->addMember(DA, *this);
1049 for (Def DA : IA.Addr->members_if(IsDef, *this)) {
1050 if (Visited.count(DA.Id))
1052 if (!(DA.Addr->getFlags() & NodeAttrs::Clobbering))
1055 NodeList Rel = getRelatedRefs(IA, DA);
1061 DefM[RR.Reg].push(DA);
1069 DefM[A].push(DA);
1097 for (Def DA : IA.Addr->members_if(IsDef, *this)) {
1098 if (Visited.count(DA.Id))
1100 if (DA.Addr->getFlags() & NodeAttrs::Clobbering)
1103 NodeList Rel = getRelatedRefs(IA, DA);
1119 DefM[RR.Reg].push(DA);
1125 DefM[A].push(DA);
1306 Def DA = newDef(SA, Op, Flags);
1307 SA.Addr->addMember(DA, *this);
1319 Def DA = newDef(SA, Op, Flags);
1320 SA.Addr->addMember(DA, *this);
1357 Def DA = newDef(SA, Op, Flags);
1358 SA.Addr->addMember(DA, *this);
1469 Def DA = M;
1470 if (DA.Addr->getReachedDef() != 0 || DA.Addr->getReachedUse() != 0)
1682 // Remove the def node DA from any data-flow and structural links.
1683 void DataFlowGraph::unlinkDefDF(Def DA) {
1691 // ... -- | DA | -- ... -- 0 : sibling chain of DA
1702 NodeId RD = DA.Addr->getReachingDef();
1705 // Also, defs reached by DA are now "promoted" to being reached by RD,
1707 // DA belongs.
1718 NodeList ReachedDefs = getAllNodes(DA.Addr->getReachedDef());
1719 NodeList ReachedUses = getAllNodes(DA.Addr->getReachedUse());
1732 NodeId Sib = DA.Addr->getSibling();
1738 // Update the reaching def node and remove DA from the sibling list.
1741 if (TA.Id == DA.Id) {
1742 // If DA is the first reached def, just update the RD's reached def
1743 // to the DA's sibling.
1747 // DA from it.
1750 if (S == DA.Id) {
1758 // Splice the DA's reached defs into the RDA's reached def chain.
1764 // Splice the DA's reached uses into the RDA's reached use chain.