<div dir="ltr"><div>Dear all,</div><div><br></div><div>Thanks to all of you. I have executed the following commands on the code given above. <br></div><div><br></div><div>clang -O3 -S -c find_max.c -Rpass=vector -Rpass-analysis=vector -o find_max.ll</div><div><br></div><div>However, the generated code is an assembly code (attached). Is there any way to generate a vectorized IR (.ll) file ?</div><div><br></div><div>Thanks and regards,</div><div>Sudakshina<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 14, 2021 at 2:49 PM Nigel Perks <<a href="mailto:nigelp@xmos.com">nigelp@xmos.com</a>> wrote:<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 style="overflow-wrap: break-word;" lang="EN-GB">
<div class="gmail-m_-2042775225536214430WordSection1">
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Arial",sans-serif">Try   opt -S   to get text IR instead of bitcode.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Arial",sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Arial",sans-serif">The second group of commands use   clang -c   so produce a compiled object file. For text IR you need   -S -emit-llvm   like in the first group.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Arial",sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Arial",sans-serif">Nigel<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Arial",sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Arial",sans-serif"><u></u> <u></u></span></p>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank">llvm-dev-bounces@lists.llvm.org</a>>
<b>On Behalf Of </b>Sudakshina Dutta via llvm-dev<br>
<b>Sent:</b> 14 May 2021 04:17<br>
<b>To:</b> LLVM Development List <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
<b>Subject:</b> [llvm-dev] Auto-vectorization option<u></u><u></u></span></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Dear all,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Greetings. I want to generate the intermediate code (.ll file) after having LLVM auto-vectorization transformation on the source C file. I have the following code  (find_max.c) on which I want to apply auto-vectorization.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">int main()<br>
{<br>
    int i, n, max, arr[50];<br>
    for(i = 0; i < 35; i++)<br>
    {<br>
        printf("arr[%d] = ", i);<br>
        scanf("%d", &arr[i]);<br>
    }<br>
    max = arr[0];<br>
    for(i = 1; i < 35; i++)<br>
    {<br>
        if(arr[i] > max)<br>
        {<br>
            max = arr[i];<br>
        }<br>
    }<br>
<br>
}<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I have tried the following.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<ol type="1" start="1">
<li class="MsoNormal">
clang  -S -emit-llvm find_max.c -o find_max.ll<u></u><u></u></li><li class="MsoNormal">
opt -loop-vectorize -force-vector-width=8 find_max.ll -o find_max_opt.ll<u></u><u></u></li></ol>
</div>
<div>
<p class="MsoNormal">and<u></u><u></u></p>
</div>
<div>
<ol type="1" start="1">
<li class="MsoNormal">
clang -O3 -c find_max.c -Rpass=vector -Rpass-analysis=vector<u></u><u></u></li><li class="MsoNormal">
clang -O3 -c find_max.c -Rpass=vector -Rpass-analysis=vector -o find_max.ll<u></u><u></u></li></ol>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">All the above options generate binary files. I request you to please help.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks and regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Sudakshina<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>

</blockquote></div>