diff options
Diffstat (limited to 'llvm/lib/CodeGen/InstrSched/InstrScheduling.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/InstrSched/InstrScheduling.cpp | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/llvm/lib/CodeGen/InstrSched/InstrScheduling.cpp b/llvm/lib/CodeGen/InstrSched/InstrScheduling.cpp index 2a2ef27a29f..a50439de7f6 100644 --- a/llvm/lib/CodeGen/InstrSched/InstrScheduling.cpp +++ b/llvm/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) | 

