Minor changes for bug fixes in SchedGraph.cpp.
authorVikram S. Adve <vadve@cs.uiuc.edu>
Sun, 30 Sep 2001 23:37:26 +0000 (23:37 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Sun, 30 Sep 2001 23:37:26 +0000 (23:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@677 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/InstrSched/SchedGraph.h
lib/Target/SparcV9/InstrSched/SchedGraph.h

index ef3b4df862bf38ae2635a9d77cddd76741f74819..76a7663cf8079630c61f7c42548f055608758f75 100644 (file)
@@ -33,7 +33,7 @@ class TargetMachine;
 class SchedGraphEdge; 
 class SchedGraphNode; 
 class SchedGraph; 
-class NodeToRegRefMap;
+class RegToRefVecMap;
 class MachineInstr;
 
 /******************** Exported Data Types and Constants ********************/
@@ -61,9 +61,9 @@ protected:
   int                  minDelay; // cached latency (assumes fixed target arch)
   
   union {
-    Value*     val;
-    int                machineRegNum;
-    ResourceId  resourceId;
+    const Value* val;
+    int          machineRegNum;
+    ResourceId   resourceId;
   };
   
 public:        
@@ -79,7 +79,7 @@ public:
   // constructor for explicit def-use or memory def-use edge
   /*ctor*/             SchedGraphEdge(SchedGraphNode* _src,
                                       SchedGraphNode* _sink,
-                                      Value*          _val,
+                                      const Value*    _val,
                                       DataDepOrderType _depOrderType =TrueDep,
                                       int _minDelay = -1);
   
@@ -293,8 +293,11 @@ private:
   //
   void         buildGraph              (const TargetMachine& target);
   
-  void         addEdgesForInstruction  (SchedGraphNode* node,
-                                        NodeToRegRefMap& regToRefVecMap,
+  void          buildNodesforVMInstr    (const TargetMachine& target,
+                                         const Instruction* instr);
+  
+  void         addEdgesForInstruction  (const MachineInstr& minstr,
+                                        RegToRefVecMap& regToRefVecMap,
                                         const TargetMachine& target);
   
   void         addCDEdges              (const TerminatorInst* term,
@@ -303,11 +306,14 @@ private:
   void         addMemEdges          (const vector<const Instruction*>& memVec,
                                      const TargetMachine& target);
   
-  void         addMachineRegEdges      (NodeToRegRefMap& regToRefVecMap,
+  void         addMachineRegEdges      (RegToRefVecMap& regToRefVecMap,
                                         const TargetMachine& target);
   
   void         addSSAEdge              (SchedGraphNode* node,
-                                        Value* val,
+                                        const Value* val,
+                                        const TargetMachine& target);
+  
+  void         addNonSSAEdgesForValue  (const Instruction* instr,
                                         const TargetMachine& target);
   
   void         addDummyEdges           ();
index ef3b4df862bf38ae2635a9d77cddd76741f74819..76a7663cf8079630c61f7c42548f055608758f75 100644 (file)
@@ -33,7 +33,7 @@ class TargetMachine;
 class SchedGraphEdge; 
 class SchedGraphNode; 
 class SchedGraph; 
-class NodeToRegRefMap;
+class RegToRefVecMap;
 class MachineInstr;
 
 /******************** Exported Data Types and Constants ********************/
@@ -61,9 +61,9 @@ protected:
   int                  minDelay; // cached latency (assumes fixed target arch)
   
   union {
-    Value*     val;
-    int                machineRegNum;
-    ResourceId  resourceId;
+    const Value* val;
+    int          machineRegNum;
+    ResourceId   resourceId;
   };
   
 public:        
@@ -79,7 +79,7 @@ public:
   // constructor for explicit def-use or memory def-use edge
   /*ctor*/             SchedGraphEdge(SchedGraphNode* _src,
                                       SchedGraphNode* _sink,
-                                      Value*          _val,
+                                      const Value*    _val,
                                       DataDepOrderType _depOrderType =TrueDep,
                                       int _minDelay = -1);
   
@@ -293,8 +293,11 @@ private:
   //
   void         buildGraph              (const TargetMachine& target);
   
-  void         addEdgesForInstruction  (SchedGraphNode* node,
-                                        NodeToRegRefMap& regToRefVecMap,
+  void          buildNodesforVMInstr    (const TargetMachine& target,
+                                         const Instruction* instr);
+  
+  void         addEdgesForInstruction  (const MachineInstr& minstr,
+                                        RegToRefVecMap& regToRefVecMap,
                                         const TargetMachine& target);
   
   void         addCDEdges              (const TerminatorInst* term,
@@ -303,11 +306,14 @@ private:
   void         addMemEdges          (const vector<const Instruction*>& memVec,
                                      const TargetMachine& target);
   
-  void         addMachineRegEdges      (NodeToRegRefMap& regToRefVecMap,
+  void         addMachineRegEdges      (RegToRefVecMap& regToRefVecMap,
                                         const TargetMachine& target);
   
   void         addSSAEdge              (SchedGraphNode* node,
-                                        Value* val,
+                                        const Value* val,
+                                        const TargetMachine& target);
+  
+  void         addNonSSAEdgesForValue  (const Instruction* instr,
                                         const TargetMachine& target);
   
   void         addDummyEdges           ();