[llvm-commits] Fwd: Patch for review: Speeding up ScheduleDAG computations

Roman Levenstein romix.llvm at googlemail.com
Mon Mar 3 03:06:46 PST 2008


Hi,


 2008/3/1, Evan Cheng <evan.cheng at apple.com>:

> Let's try to solve one problem at a time.
 >
 >  1. Roman's depth / height patch calculation is obviously goodness.
 >  Please commit that first.


Here is the patch for ScheduleDAGList.cpp: computing priorities using
 a linear algorithm. It uses the same idea as the height/depth
 computation, i.e. dynamic programming. I took into account all
 comments from Dan & Evan from last review.

 Additionally, I use now std::set instead of a priority queue. The
 results are exactly the same as with the current SVN version - I
 really compared it side-by-side during execution. Using std::set makes
 operations such as removal from the middle of the queue much faster
 and removes a bottleneck. Scheduling of very bigs BBs is now up to 3-4
 times faster.

 Please, review this new version, if it is OK for submission.

 And there is one more patch to come, for the ScheduleDAGRRList.cpp,
 which would also use std::set instead of priority queues, introduce
 strict ordering and contain queue update changes as David suggested.

 -Roman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ScheduleDAGList.patch
Type: text/x-diff
Size: 5114 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20080303/66404d47/attachment.patch>


More information about the llvm-commits mailing list