for (i = 0; i < _PB_M; i++)
for (j = 0; j < _PB_N; j++) {
for (k = i+1; k < _PB_M; k++)
B[i][j] += A[k][i] * B[k][j];
B[i][j] = alpha * B[i][j];
}
Plain LLVM failed to process this -
ERROR: [SYNCHK 200-43] in function 'kernel_trmm': use or assignment of a non-static pointer 'indvars' (this pointer may refer to different memory locations).
ERROR: [SYNCHK 200-41] in function 'kernel_trmm': unsupported pointer reinterpretation from type 'i64*' to type '[600 x i64]*' on variable 'indvars'
After polyhedral transformation it could work -