aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/InstrSched/InstrScheduling.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-11-05 06:25:06 +0000
committerChris Lattner <sabre@nondot.org>2003-11-05 06:25:06 +0000
commit414d9d270754a2bb4b5875e8c85078047ebfbea5 (patch)
tree476c7cdbf50bc6dec1f21bf2f537fb48a85836dc /lib/CodeGen/InstrSched/InstrScheduling.cpp
parent502dda001a9b106b5618bcb6b3136c541865c2b8 (diff)
Do not use a class before it is defined.
Be gcc 3.4 clean git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9727 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/InstrSched/InstrScheduling.cpp')
-rw-r--r--lib/CodeGen/InstrSched/InstrScheduling.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/CodeGen/InstrSched/InstrScheduling.cpp b/lib/CodeGen/InstrSched/InstrScheduling.cpp
index 2a2ef27a29..a50439de7f 100644
--- a/lib/CodeGen/InstrSched/InstrScheduling.cpp
+++ b/lib/CodeGen/InstrSched/InstrScheduling.cpp
@@ -111,10 +111,7 @@ public:
inline bool operator!=(const _Self& x) const { return !operator==(x); }
- inline _NodeType* operator*() const {
- assert(cycleNum < S.groups.size());
- return (*S.groups[cycleNum])[slotNum];
- }
+ inline _NodeType* operator*() const;
inline _NodeType* operator->() const { return operator*(); }
_Self& operator++(); // Preincrement
@@ -201,11 +198,17 @@ public: // accessor functions to query chosen schedule
}
private:
- friend class iterator;
- friend class const_iterator;
+ friend class ScheduleIterator<SchedGraphNode>;
+ friend class ScheduleIterator<const SchedGraphNode>;
/*ctor*/ InstrSchedule (); // Disable: DO NOT IMPLEMENT.
};
+template<class NodeType>
+inline NodeType *ScheduleIterator<NodeType>::operator*() const {
+ assert(cycleNum < S.groups.size());
+ return (*S.groups[cycleNum])[slotNum];
+}
+
/*ctor*/
InstrSchedule::InstrSchedule(unsigned int _nslots, unsigned int _numNodes)