OSDN Git Service

Make EmitNode take a SDNode instead of a NodeInfo*
authorChris Lattner <sabre@nondot.org>
Fri, 10 Mar 2006 07:28:36 +0000 (07:28 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 10 Mar 2006 07:28:36 +0000 (07:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26687 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/ScheduleDAG.h
lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp

index 2394c58..ac66768 100644 (file)
@@ -341,7 +341,7 @@ namespace llvm {
     /// VRBaseMap contains, for each already emitted node, the first virtual
     /// register number for the results of the node.
     ///
-    void EmitNode(NodeInfo *NI, std::map<SDNode*, unsigned> &VRBaseMap);
+    void EmitNode(SDNode *Node, std::map<SDNode*, unsigned> &VRBaseMap);
     
     /// EmitNoop - Emit a noop instruction.
     ///
index 65d3008..5b6d8ac 100644 (file)
@@ -202,10 +202,9 @@ void ScheduleDAG::AddOperand(MachineInstr *MI, SDOperand Op,
 
 /// EmitNode - Generate machine code for an node and needed dependencies.
 ///
-void ScheduleDAG::EmitNode(NodeInfo *NI
+void ScheduleDAG::EmitNode(SDNode *Node
                            std::map<SDNode*, unsigned> &VRBaseMap) {
   unsigned VRBase = 0;                 // First virtual register for node
-  SDNode *Node = NI->Node;
   
   // If machine instruction
   if (Node->isTargetOpcode()) {
@@ -396,9 +395,9 @@ void ScheduleDAG::EmitAll() {
     NodeInfo *NI = Ordering[i];
     if (NI->isInGroup()) {
       NodeGroupIterator NGI(Ordering[i]);
-      while (NodeInfo *NI = NGI.next()) EmitNode(NI, VRBaseMap);
+      while (NodeInfo *NI = NGI.next()) EmitNode(NI->Node, VRBaseMap);
     } else {
-      EmitNode(NI, VRBaseMap);
+      EmitNode(NI->Node, VRBaseMap);
     }
   }
 }
index bf0277b..f9bb198 100644 (file)
@@ -613,11 +613,9 @@ void ScheduleDAGList::EmitSchedule() {
   std::map<SDNode*, unsigned> VRBaseMap;
   for (unsigned i = 0, e = Sequence.size(); i != e; i++) {
     if (SUnit *SU = Sequence[i]) {
-      for (unsigned j = 0, ee = SU->FlaggedNodes.size(); j != ee; j++) {
-        SDNode *N = SU->FlaggedNodes[j];
-        EmitNode(getNI(N), VRBaseMap);
-      }
-      EmitNode(getNI(SU->Node), VRBaseMap);
+      for (unsigned j = 0, ee = SU->FlaggedNodes.size(); j != ee; j++)
+        EmitNode(SU->FlaggedNodes[j], VRBaseMap);
+      EmitNode(SU->Node, VRBaseMap);
     } else {
       // Null SUnit* is a noop.
       EmitNoop();
@@ -641,9 +639,6 @@ void ScheduleDAGList::dumpSchedule() const {
 void ScheduleDAGList::Schedule() {
   DEBUG(std::cerr << "********** List Scheduling **********\n");
 
-  // Set up minimum info for scheduling
-  PrepareNodeInfo();
-  
   // Build scheduling units.
   BuildSchedUnits();