[LLVMdev] Should we enable Partial unrolling and Runtime unrolling on AArch64?

Kevin Qin kevinqindev at gmail.com
Thu Jul 31 01:28:16 PDT 2014


Correct a typo issue: the word "major" in second paragraph should be
"minor". Sorry about this...


2014-07-31 16:03 GMT+08:00 Kevin Qin <kevinqindev at gmail.com>:

> Hi all,
>
> Partial unrolling and runtime unrolling are enabled by default in aarch64
> gcc which is help to get performance better. But these two methods are
> enabled for only several backends in LLVM which are X86, PowerPC and R600.
> I don't know the history of these two kinds of unrolling, and why they are
> not widely used. I also want to know is, for aarch64 backend, is
> it intentionally to get them disabled?
>
> I've did some experiment around this and see the performance is indeed
> impacted. Overall, partial unrolling can bring small benefit on most cases
> of Benchmark and regression is major and small. Runtime unrolling can bring
> huge improvement on some certain cases but also huge regression on
> others. The proportion of improvement and regression varies in different
> Benchmark. Also, code size is increased for two both.
>
> I will show more information before this be changed. Here I just want to
> know more backgrounds of two unrolling methods.
>
> --
> Best Regards,
>
> Kevin Qin
>



-- 
Best Regards,

Kevin Qin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140731/931e6f38/attachment.html>


More information about the llvm-dev mailing list