[PATCH] REPOST: Scheduler Fix

I'm reposting this patch at the request of Evan. It fixes a problem with
std::priority_queue and _GLIBCXX_DEBUG.


schedule_dag.diff (7.8 KB)

It's not building:

usr/include/c++/4.0.0/bits/stl_queue.h: In member function 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const typename _Sequence::value_type&) [with _Tp = llvm::SUnit*, _Sequence = ll\
vm::container_reference_wrapper<std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, _Compare = <unnamed>::td_ls_rr_sort]':
ScheduleDAGRRList.cpp:1057: instantiated from 'void<unnamed>::RegReductionPriorityQueue<SF>::push(llvm::SUnit*) [with SF = <unnamed>::td_ls_rr_sort]'
ScheduleDAGRRList.cpp:1630: instantiated from here
/usr/include/c++/4.0.0/bits/stl_queue.h:436: error: 'class llvm::container_reference_wrapper<std::vector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >' has no member named 'clear'
/usr/include/c++/4.0.0/bits/stl_queue.h: In member function 'void std::priority_queue<_Tp, _Sequence, _Compare>::pop() [with _Tp = llvm::SUnit*, _Sequence = llvm::container_reference_wrapper<std::v\
ector<llvm::SUnit*, std::allocator<llvm::SUnit*> > >, _Compare = <unnamed>::td_ls_rr_sort]':

Missing a patch?


Hrm. I may have missed something.

But Roman's patch is better, so we should go with that. It covers the
functionality of this patch,

I'm testing Roman's patch right now.