diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2006-01-25 18:54:24 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2006-01-25 18:54:24 +0000 |
| commit | 1880f8db02fe594ea56e035970df9c273c22c113 (patch) | |
| tree | cad9de1d2ebbe202476ce845d3ae18ab89dd57b9 | |
| parent | 030e002fb98433755d3acd6953eb13df64e9f431 (diff) | |
| download | bcm5719-llvm-1880f8db02fe594ea56e035970df9c273c22c113.tar.gz bcm5719-llvm-1880f8db02fe594ea56e035970df9c273c22c113.zip | |
No need to keep track of top and bottom nodes in a group since the vector is
already in order. Thanks Jim for pointing it out.
llvm-svn: 25608
| -rw-r--r-- | llvm/include/llvm/CodeGen/ScheduleDAG.h | 8 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | 5 |
2 files changed, 3 insertions, 10 deletions
diff --git a/llvm/include/llvm/CodeGen/ScheduleDAG.h b/llvm/include/llvm/CodeGen/ScheduleDAG.h index 09ff2752ed2..edfe73fd392 100644 --- a/llvm/include/llvm/CodeGen/ScheduleDAG.h +++ b/llvm/include/llvm/CodeGen/ScheduleDAG.h @@ -52,8 +52,6 @@ namespace llvm { class NodeGroup { private: NIVector Members; // Group member nodes - NodeInfo *Top; - NodeInfo *Bottom; NodeInfo *Dominator; // Node with highest latency unsigned Latency; // Total latency of the group int Pending; // Number of visits pending before @@ -61,12 +59,12 @@ namespace llvm { public: // Ctor. - NodeGroup() : Top(NULL), Bottom(NULL), Dominator(NULL), Pending(0) {} + NodeGroup() : Dominator(NULL), Pending(0) {} // Accessors inline void setDominator(NodeInfo *D) { Dominator = D; } - inline NodeInfo *getTop() { return Top; } - inline NodeInfo *getBottom() { return Bottom; } + inline NodeInfo *getTop() { return Members[0]; } + inline NodeInfo *getBottom() { return Members[Members.size()-1]; } inline NodeInfo *getDominator() { return Dominator; } inline void setLatency(unsigned L) { Latency = L; } inline unsigned getLatency() { return Latency; } diff --git a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index 4d7ed0abe72..6ffa9c720d0 100644 --- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp @@ -464,7 +464,6 @@ void NodeGroup::Add(NodeInfo *D, NodeInfo *U) { // Merge the two lists DGroup->group_insert(DGroup->group_end(), UGroup->group_begin(), UGroup->group_end()); - DGroup->Bottom = UGroup->Bottom; } else if (DGroup) { // Make user member of definers group U->Group = DGroup; @@ -477,7 +476,6 @@ void NodeGroup::Add(NodeInfo *D, NodeInfo *U) { DGroup->addPending(-CountInternalUses(DNI, U)); } DGroup->group_push_back(U); - DGroup->Bottom = U; } else if (UGroup) { // Make definer member of users group D->Group = UGroup; @@ -490,14 +488,11 @@ void NodeGroup::Add(NodeInfo *D, NodeInfo *U) { UGroup->addPending(-CountInternalUses(D, UNI)); } UGroup->group_insert(UGroup->group_begin(), D); - UGroup->Top = D; } else { D->Group = U->Group = DGroup = new NodeGroup(); DGroup->addPending(D->Node->use_size() + U->Node->use_size() - CountInternalUses(D, U)); DGroup->group_push_back(D); DGroup->group_push_back(U); - DGroup->Top = D; - DGroup->Bottom = U; } } |

