[llvm-commits] [LLVM, opt, LoopUnswitch] Compile-time improvements.

Stepan Dyatkovskiy stpworld at narod.ru
Fri Dec 30 04:14:36 PST 2011


Hi. A made some fixes that improves compile-time:

1. Size heuristics changed. Now we calculate number of unswitching
branches only once per loop.
2. Some checks was moved from UnswitchIfProfitable to
processCurrentLoop, since it is not changed during processCurrentLoop
iteration. It allows decide to skip some loops at an early stage.

I checked the compile-time on test

MultiSource/Benchmarks/Prolangs-C++/shapes/shapes
(there was compile time regression after my previous patch).

Relative to my previous patch the compile-time improved on ~8.5%. Relative
to old revisions (before r146578) the compile time is improved on ~2%.

Please find the patch in attachment for review.

-Stepan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: loop-unswitch-unswitchvals-1.1.patch
Type: text/x-patch
Size: 9194 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20111230/8bf30ffa/attachment.bin>


More information about the llvm-commits mailing list