[llvm-commits] Patch for review: Speeding up ScheduleDAG computations
Roman Levenstein
romix.llvm at googlemail.com
Thu Feb 28 12:53:41 PST 2008
Hi Bill,
2008/2/28, Bill Wendling <isanbard at gmail.com>:
> On Thu, Feb 28, 2008 at 6:15 AM, Roman Levenstein
> <romix.llvm at googlemail.com> wrote:
> > Hi,
> >
> > I've implemented some improvements related to the computation of
> > heights, depths and priorities and latencies of SUnits.
> >
> > The basic idea is that all these algorithms are computing the longest
> > paths from the root node or to the exit node. Therefore I changed the
> > existing implementation that uses and iterative and potentially
> > exponential algorithm to a well-known graph algorithm based on dynamic
> > programming. It has a linear run-time.
> >
> > Tests on very big input files with tens of thousends of instructions
> > in a BB, e.g. big4.bc use-case from Duraid's testsuit, indicate huge
> > speed-ups (up to 2x) compared to the current version,
> >
> > Please review and tell if it is OK for submission.
> >
>
> Hi Roman,
>
> (I haven't looked at the patch yet.) Did you run the llvm-test suite
> with your patch?
No, I haven't done it yet, since I had no time. But I'll do it tomorrow.
What I did so far was computing the corresponding values (height,
depth, priority) with the old algorithm and with the new algorithm and
then comparing them to check if they are equal. I did it on some
use-cases involving huge MBBs. The speedup was really significant,
e.g. the overall compilation took 10-15 seconds less (out of 35-40
sec) on those examples. Also the profiler shows that the number of
iterations done by those algorithms was reduced by several orders of
magniute.
- Roman
More information about the llvm-commits
mailing list