From f0b6d7960c26c5a2422f12448429eb460635fe01 Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Tue, 18 Sep 2001 12:49:26 +0000 Subject: [PATCH] Moved erase-edge functions from SchedGraphNode to SchedGraph. Renamed some header files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@607 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/InstrSched/SchedGraph.h | 26 +++++++++++++--------- lib/Target/SparcV9/InstrSched/SchedGraph.h | 26 +++++++++++++--------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/lib/CodeGen/InstrSched/SchedGraph.h b/lib/CodeGen/InstrSched/SchedGraph.h index 35cdfd2513b..5c4a6007904 100644 --- a/lib/CodeGen/InstrSched/SchedGraph.h +++ b/lib/CodeGen/InstrSched/SchedGraph.h @@ -97,7 +97,7 @@ public: ResourceId _resourceId, int _minDelay = -1); - /*dtor*/ ~SchedGraphEdge() {} + /*dtor*/ ~SchedGraphEdge(); SchedGraphNode* getSrc () const { return src; } SchedGraphNode* getSink () const { return sink; } @@ -139,8 +139,10 @@ private: int latency; public: - typedef vector::iterator iterator; - typedef vector::const_iterator const_iterator; + typedef vector:: iterator iterator; + typedef vector::const_iterator const_iterator; + typedef vector:: reverse_iterator reverse_iterator; + typedef vector::const_reverse_iterator const_reverse_iterator; public: // @@ -167,11 +169,6 @@ public: const_iterator beginOutEdges () const { return outEdges.begin(); } const_iterator endOutEdges () const { return outEdges.end(); } - // - // Limited modifier methods - // - void eraseAllEdges (); - public: // // Debugging support @@ -229,9 +226,18 @@ public: } // - // Delete a node from the graph. + // Delete nodes or edges from the graph. // - void eraseNode(SchedGraphNode* node); + void eraseNode (SchedGraphNode* node); + + void eraseIncomingEdges (SchedGraphNode* node, + bool addDummyEdges = true); + + void eraseOutgoingEdges (SchedGraphNode* node, + bool addDummyEdges = true); + + void eraseIncidentEdges (SchedGraphNode* node, + bool addDummyEdges = true); // // Unordered iterators. diff --git a/lib/Target/SparcV9/InstrSched/SchedGraph.h b/lib/Target/SparcV9/InstrSched/SchedGraph.h index 35cdfd2513b..5c4a6007904 100644 --- a/lib/Target/SparcV9/InstrSched/SchedGraph.h +++ b/lib/Target/SparcV9/InstrSched/SchedGraph.h @@ -97,7 +97,7 @@ public: ResourceId _resourceId, int _minDelay = -1); - /*dtor*/ ~SchedGraphEdge() {} + /*dtor*/ ~SchedGraphEdge(); SchedGraphNode* getSrc () const { return src; } SchedGraphNode* getSink () const { return sink; } @@ -139,8 +139,10 @@ private: int latency; public: - typedef vector::iterator iterator; - typedef vector::const_iterator const_iterator; + typedef vector:: iterator iterator; + typedef vector::const_iterator const_iterator; + typedef vector:: reverse_iterator reverse_iterator; + typedef vector::const_reverse_iterator const_reverse_iterator; public: // @@ -167,11 +169,6 @@ public: const_iterator beginOutEdges () const { return outEdges.begin(); } const_iterator endOutEdges () const { return outEdges.end(); } - // - // Limited modifier methods - // - void eraseAllEdges (); - public: // // Debugging support @@ -229,9 +226,18 @@ public: } // - // Delete a node from the graph. + // Delete nodes or edges from the graph. // - void eraseNode(SchedGraphNode* node); + void eraseNode (SchedGraphNode* node); + + void eraseIncomingEdges (SchedGraphNode* node, + bool addDummyEdges = true); + + void eraseOutgoingEdges (SchedGraphNode* node, + bool addDummyEdges = true); + + void eraseIncidentEdges (SchedGraphNode* node, + bool addDummyEdges = true); // // Unordered iterators.