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 | 46c01cfe9f1c6900ea63df9c79094d0826fd9ecc (patch) | |
tree | 2c9254704aa535b7c4e8b3bbabae20c6a82cb767 | |
parent | 0577a22c678bd5e31047e6b8038c6917202271ee (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25608 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/ScheduleDAG.h | 8 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/ScheduleDAG.cpp | 5 |
2 files changed, 3 insertions, 10 deletions
diff --git a/include/llvm/CodeGen/ScheduleDAG.h b/include/llvm/CodeGen/ScheduleDAG.h index 09ff2752ed..edfe73fd39 100644 --- a/include/llvm/CodeGen/ScheduleDAG.h +++ b/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/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp index 4d7ed0abe7..6ffa9c720d 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp +++ b/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; } } |