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

David Greene dag at cray.com
Mon Mar 3 09:48:51 PST 2008


On Monday 03 March 2008 11:18, Roman Levenstein wrote:

> Here is a proposed patch for ScheduleDAGRRList.cpp. It contains the
> following changes:
> 1) Uses std::set instead of the priority queue. This makes removal of
> nodes very fast and removes a bottleneck
> 2) sorting functions use now strict ordering
> 3) According to your proposal, it takes node priority updates into
> account and updates the priority queue by removing and re-inserting
> the updated element.
> 4) SumOfUnscheduledPredsOfSuccs is slightly changed to avoid useless
> computations. This saves a LOT OF time on big basic blocks.
>
> Please review and test, if possible. I have problems with running the

I'm building and running tests with it right now.

The patch is goodness.  It avoids the clumsy and esoteric 
container_reference_wrapper and that alone makes it superior to my
solution.  If it speeds everything up as well, it's a no brainer to apply it
assuming it passes testing.

                                                     -Dave




More information about the llvm-commits mailing list