From: Chris Lattner Date: Fri, 10 Mar 2006 07:28:36 +0000 (+0000) Subject: Make EmitNode take a SDNode instead of a NodeInfo* X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8c7ef0599c3d5b0beea9c16ac1e4ac6755d34de2;p=oota-llvm.git Make EmitNode take a SDNode instead of a NodeInfo* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26687 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/ScheduleDAG.h b/include/llvm/CodeGen/ScheduleDAG.h index 2394c5865b1..ac66768a8f4 100644 --- a/include/llvm/CodeGen/ScheduleDAG.h +++ b/include/llvm/CodeGen/ScheduleDAG.h @@ -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 &VRBaseMap); + void EmitNode(SDNode *Node, std::map &VRBaseMap); /// EmitNoop - Emit a noop instruction. /// diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index 65d300850e7..5b6d8aceed7 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp @@ -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 &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); } } } diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp index bf0277bea13..f9bb1983c90 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp @@ -613,11 +613,9 @@ void ScheduleDAGList::EmitSchedule() { std::map 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();