kiranchandramohan wrote:
Could you check forced vectorization for the full-LTO -O1 case? It looks like
we have a change of behaviour for this case: the pre-link vectorizer is
removed, while the post-link pipeline returns before adding it. Can we preserve
existing behaviour and add a test, or add a suitable explanation for the change?
```
void forced(float *restrict dst, const float *restrict src, int n) {
#pragma clang loop vectorize(enable) vectorize_width(4) interleave_count(1)
for (int i = 0; i < n; ++i)
dst[i] = src[i] + 1.0f;
}
```
Do we need to document that vectorisation remarks will now be emitted during
LTO linking, and -Rpass=loop-vectorize needs to be supplied on the link command?
Could you check whether the `WarnMissedTransformationsPass` is run twice after
the change in `PassBuilder::addVectorPasses()` and can result in duplicated
warnings?
Note: Review was prepared with AI assistance.
https://github.com/llvm/llvm-project/pull/195886
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits