[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