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
diff --git a/lib/CodeGen/InstrSched/SchedGraph.h b/lib/CodeGen/InstrSched/SchedGraph.h
index 35cdfd2..5c4a600 100644
--- a/lib/CodeGen/InstrSched/SchedGraph.h
+++ b/lib/CodeGen/InstrSched/SchedGraph.h
@@ -97,7 +97,7 @@
 				       ResourceId      _resourceId,
 				       int _minDelay = -1);
   
-  /*dtor*/		~SchedGraphEdge() {}
+  /*dtor*/		~SchedGraphEdge();
   
   SchedGraphNode*	getSrc		() const { return src; }
   SchedGraphNode*	getSink		() const { return sink; }
@@ -139,8 +139,10 @@
   int latency;
   
 public:
-  typedef	vector<SchedGraphEdge*>::iterator	iterator;
-  typedef	vector<SchedGraphEdge*>::const_iterator	const_iterator;
+  typedef vector<SchedGraphEdge*>::      iterator	        iterator;
+  typedef vector<SchedGraphEdge*>::const_iterator         const_iterator;
+  typedef vector<SchedGraphEdge*>::      reverse_iterator reverse_iterator;
+  typedef vector<SchedGraphEdge*>::const_reverse_iterator const_reverse_iterator;
   
 public:
   //
@@ -167,11 +169,6 @@
   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 @@
   }
   
   //
-  // 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.