[llvm-dev] Forcing loop optimization

Sudakshina Dutta via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 14 06:23:31 PDT 2021


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210614/6bce5584/attachment.html>


More information about the llvm-dev mailing list