diff options
Diffstat (limited to 'llvm/lib/Target/Hexagon/RDFGraph.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/RDFGraph.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/llvm/lib/Target/Hexagon/RDFGraph.cpp b/llvm/lib/Target/Hexagon/RDFGraph.cpp index 9b47422153b..dd43234563f 100644 --- a/llvm/lib/Target/Hexagon/RDFGraph.cpp +++ b/llvm/lib/Target/Hexagon/RDFGraph.cpp @@ -1456,9 +1456,9 @@ void DataFlowGraph::removeUnusedPhis() { PhiQ.insert(OA.Id); } if (RA.Addr->isDef()) - unlinkDef(RA); + unlinkDef(RA, true); else - unlinkUse(RA); + unlinkUse(RA, true); } NodeAddr<BlockNode*> BA = PA.Addr->getOwner(*this); BA.Addr->removeMember(PA, *this); @@ -1593,13 +1593,10 @@ void DataFlowGraph::linkBlockRefs(DefStackMap &DefM, NodeAddr<BlockNode*> BA) { } // Remove the use node UA from any data-flow and structural links. -void DataFlowGraph::unlinkUse(NodeAddr<UseNode*> UA) { +void DataFlowGraph::unlinkUseDF(NodeAddr<UseNode*> UA) { NodeId RD = UA.Addr->getReachingDef(); NodeId Sib = UA.Addr->getSibling(); - NodeAddr<InstrNode*> IA = UA.Addr->getOwner(*this); - IA.Addr->removeMember(UA, *this); - if (RD == 0) { assert(Sib == 0); return; @@ -1623,7 +1620,7 @@ void DataFlowGraph::unlinkUse(NodeAddr<UseNode*> UA) { } // Remove the def node DA from any data-flow and structural links. -void DataFlowGraph::unlinkDef(NodeAddr<DefNode*> DA) { +void DataFlowGraph::unlinkDefDF(NodeAddr<DefNode*> DA) { // // RD // | reached @@ -1710,7 +1707,4 @@ void DataFlowGraph::unlinkDef(NodeAddr<DefNode*> DA) { Last.Addr->setSibling(RDA.Addr->getReachedUse()); RDA.Addr->setReachedUse(ReachedUses.front().Id); } - - NodeAddr<InstrNode*> IA = DA.Addr->getOwner(*this); - IA.Addr->removeMember(DA, *this); } |