Open erickq opened 10 months ago
test: https://godbolt.org/z/YWE89hKvn
void test(int** aa, int* a, int LEN_2D) { for (int j = 0; j < LEN_2D; j++) { for (int i = j+1; i < LEN_2D; i++) { a[i] -= aa[j][i] * a[j]; } } return; }
gcc: generate a sve loop
llvm: failed with vectorization
Can you give me some ideas? I probably know that LoopAccessAnalysis needs to be enhanced.
I think this requires an enhancement to LoopDistribute.
test: https://godbolt.org/z/YWE89hKvn
gcc: generate a sve loop![image](https://github.com/llvm/llvm-project/assets/12108571/2c650d06-e868-4859-88b4-69678fde0e09)
llvm: failed with vectorization![image](https://github.com/llvm/llvm-project/assets/12108571/b088b7fa-a86c-41b3-972f-26badb02da69)