<div dir="ltr">For forcing transformations via source code annotations, see [1].<div><br></div><div>However, there may be other reasons for an optimization to be not implied, such as the loop not having been normalized. See [2]<br><div><br></div><div>[1] <a href="https://clang.llvm.org/docs/LanguageExtensions.html#extensions-for-loop-hint-optimizations">https://clang.llvm.org/docs/LanguageExtensions.html#extensions-for-loop-hint-optimizations</a></div><div>[2] <a href="https://llvm.org/docs/LoopTerminology.html">https://llvm.org/docs/LoopTerminology.html</a><br><div><br></div><div>Michael</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Mo., 14. Juni 2021 um 08:23 Uhr schrieb Sudakshina Dutta via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Dear all,</div><div><br></div><div>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.</div><div><br></div><div><u><b>Code (code.c)</b></u><br></div><div>int main()<br>{<br>    int i1, i2, N;<br>    int In[50], A[50], D[50];<br><br>    N = 25;<br>    A[0] = In[0] + 5;<br>    #pragma clang loop unroll (enable)<br>    for(i1 = 1; i1 <= 25; i1++)<br>    {<br>            A[i1] = In[i1];<br>            D[i1] = A[i1];<br>    }<br>    return D[N];<br>}</div><div><br></div><div><u><b>The applied commands</b></u></div><div><ol><li>clang -S -emit-llvm code.c  -o code.ll -Xclang -disable-O0-optnon</li><li>opt -loop-unroll -S code.ll -o code-opt.ll -opt-bisect-limit=300 -unroll-count=3 -print-after=loop-unroll</li></ol><div>Regards,</div><div>Sudakshina<br></div></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>