[llvm-dev] Forcing loop optimization
Sudakshina Dutta via llvm-dev
llvm-dev at lists.llvm.org
Mon Jun 14 20:31:33 PDT 2021
Thanks a lot Mr. Johannes Doerfert.
On Mon, Jun 14, 2021 at 8:07 PM Johannes Doerfert <
johannesdoerfert at gmail.com> wrote:
> Hi Sudakshina,
>
> Add -sroa (or mem2reg) to your second command to simplify the IR in a
> way loop unroll can deal with:
>
> https://godbolt.org/z/refxnMcf3
>
> I removed options that are not needed in the link above.
>
> Hope this helps,
> Johannes
>
>
> On 6/14/21 8:23 AM, Sudakshina Dutta via llvm-dev wrote:
> > Dear all,
> >
> > Good day to you. Is it possible to have forced application of loop
> > unrolling or any other loop optimization ? I have tried applying loop
> > unrolling on the following code. However, the optimization has not been
> > applied by Clang.
> >
> > *Code (code.c)*
> > int main()
> > {
> > int i1, i2, N;
> > int In[50], A[50], D[50];
> >
> > N = 25;
> > A[0] = In[0] + 5;
> > #pragma clang loop unroll (enable)
> > for(i1 = 1; i1 <= 25; i1++)
> > {
> > A[i1] = In[i1];
> > D[i1] = A[i1];
> > }
> > return D[N];
> > }
> >
> > *The applied commands*
> >
> > 1. clang -S -emit-llvm code.c -o code.ll -Xclang -disable-O0-optnon
> > 2. opt -loop-unroll -S code.ll -o code-opt.ll -opt-bisect-limit=300
> > -unroll-count=3 -print-after=loop-unroll
> >
> > Regards,
> > Sudakshina
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210615/12fcd530/attachment.html>
More information about the llvm-dev
mailing list