[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