[llvm-dev] Auto-vectorization option

Sudakshina Dutta via llvm-dev llvm-dev at lists.llvm.org
Fri May 14 04:30:58 PDT 2021


Dear all,

Thanks to all of you. I have executed the following commands on the code
given above.

clang -O3 -S -c find_max.c -Rpass=vector -Rpass-analysis=vector -o
find_max.ll

However, the generated code is an assembly code (attached). Is there any
way to generate a vectorized IR (.ll) file ?

Thanks and regards,
Sudakshina

On Fri, May 14, 2021 at 2:49 PM Nigel Perks <nigelp at xmos.com> wrote:

> Try   opt -S   to get text IR instead of bitcode.
>
>
>
> 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.
>
>
>
> Nigel
>
>
>
>
>
> *From:* llvm-dev <llvm-dev-bounces at lists.llvm.org> *On Behalf Of *Sudakshina
> Dutta via llvm-dev
> *Sent:* 14 May 2021 04:17
> *To:* LLVM Development List <llvm-dev at lists.llvm.org>
> *Subject:* [llvm-dev] Auto-vectorization option
>
>
>
> Dear all,
>
>
>
> 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.
>
>
>
> int main()
> {
>     int i, n, max, arr[50];
>     for(i = 0; i < 35; i++)
>     {
>         printf("arr[%d] = ", i);
>         scanf("%d", &arr[i]);
>     }
>     max = arr[0];
>     for(i = 1; i < 35; i++)
>     {
>         if(arr[i] > max)
>         {
>             max = arr[i];
>         }
>     }
>
> }
>
>
>
> I have tried the following.
>
>
>
>    1. clang  -S -emit-llvm find_max.c -o find_max.ll
>    2. opt -loop-vectorize -force-vector-width=8 find_max.ll -o
>    find_max_opt.ll
>
> and
>
>    1. clang -O3 -c find_max.c -Rpass=vector -Rpass-analysis=vector
>    2. clang -O3 -c find_max.c -Rpass=vector -Rpass-analysis=vector -o
>    find_max.ll
>
>
>
> All the above options generate binary files. I request you to please help.
>
>
>
> Thanks and regards,
>
> Sudakshina
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210514/69c8a126/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: find_max.ll
Type: application/octet-stream
Size: 5925 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210514/69c8a126/attachment.obj>


More information about the llvm-dev mailing list