[polly] [Polly] Add vectorize metadata to loops identified as vectorizable by polly (PR #113994)
Michael Kruse via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 29 08:59:59 PDT 2024
================
@@ -233,6 +238,26 @@ static bool generateCode(Scop &S, IslAstInfo &AI, LoopInfo &LI,
NodeBuilder.allocateNewArrays(StartExitBlocks);
Annotator.buildAliasScopes(S);
+ // The code below annotates the "llvm.loop.vectorize.enable" to false
+ // for the code flow taken when RTCs fail. Because we don't want the
+ // Loop Vectorizer to come in later and vectorize the original fall back
+ // loop when 'polly-annotate-metadata-vectorize' is passed.
+ if (PollyVectorizeMetadata && &Annotator) {
+ for (Loop *L : LI.getLoopsInPreorder()) {
+ if (S.contains(L)) {
+ Annotator.pushLoop(L, false);
+ SmallVector<BasicBlock *, 4> LoopLatchBlocks;
----------------
Meinersbur wrote:
```suggestion
SmallVector<BasicBlock *> LoopLatchBlocks;
```
Unless there is a reason to assume that 4 is a common number of loop latches, you can use the default (which is 6 on 64 bit platforms). It also is a stack object, so no need to save 16 bytes.
https://github.com/llvm/llvm-project/pull/113994
More information about the llvm-commits
mailing list