Re: [PATCH] D21773: [clang] Update an optimization remark test for change D18777

2016-06-29 Thread Li Huang via cfe-commits
lihuang added a comment. You are right. A regression test could be: void foo2(int *dw, int *uw, int *A, int *B, int *C, int *D, int N) { for (int i = 0; i < N; i++) { dw[i] = A[i] + B[i - 1] + C[i - 2]; uw[i] = A[i] + B[i + 2]; } } need to fix the fundamental problem.

Re: [PATCH] D21773: [clang] Update an optimization remark test for change D18777

2016-06-29 Thread Li Huang via cfe-commits
lihuang added a comment. Hi Adam, The change in http://reviews.llvm.org/D18777 breaks this test becasue it converts some sexts to zexts, which cannot be eliminated by indvar-simplification after widening IV. The IR after indvar-simplification and before loop-vectorization is like: ...

[PATCH] D21773: [clang] Update an optimization remark test for change D18777

2016-06-27 Thread Li Huang via cfe-commits
lihuang created this revision. lihuang added reviewers: sanjoy, reames. lihuang added a subscriber: cfe-commits. Update an optimization remark test for change D18777. This test checks the loop-vectorization remarks when pointer checking threshold is exceeded. The change in D18777 would