LLVM L oop размотка и пробка не пройдены - PullRequest
0 голосов
/ 25 мая 2020

Я применил l oop unroll and jam pass в clang и LLVM. Но как бы я ни старался, это не работает.

Ниже приведена команда, которую я использовал.

clang  -Xclang -disable-O0-optnone -emit-llvm -S -o test.ll
opt -loop-unroll-and-jam -unroll-and-jam-count=2 -S test.ll

Ниже приведен один из проверенных мной кодов.

#define num 128
#define size 1024


void test()
{
   int a[size]={0,};
   int b[size]={0,};
   int c[size]={0,};
   int i=0;
   int j=0;
   int k=0;
   int sum=0;
    for (k = 1; k < num; k++)
     for (i = 1; i < num; i++){
      for (j = 1; j < num; j++) 
      {
            a[i]=b[i]+c[j];
      }
    }

}

Я был бы очень признателен, если бы вы ответили, что я сделал не так, или привели примеры возможных l oop разворачивания и пробивания кода c кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...