[llvm-dev] Auto-vectorization option

Sudakshina Dutta via llvm-dev llvm-dev at lists.llvm.org
Thu May 13 20:16:47 PDT 2021


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/b6884f0a/attachment.html>


More information about the llvm-dev mailing list