[PATCH] D89798: [SVE][AArch64] Fix TypeSize warning in loop vectorization legality

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 20 09:49:01 PDT 2020


sdesmalen added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp:1020
+        continue;
+      if (isDereferenceableAndAlignedInLoop(LI, TheLoop, SE, *DT))
         SafePointers.insert(LI->getPointerOperand());
----------------
peterwaller-arm wrote:
> I'd be tempted to make this if (!foo()) continue, so that the "passing" case is in the body of the loop, thus making it straightforward to add or remove conditions from the loop.
nit: yet now the diff is bigger, it seems simpler to just add one extra line:
```
      if (LI && !mustSuppressSpeculation(*LI) &&
+         !LI->getType()->isVectorType() &&
          isDereferenceableAndAlignedInLoop(LI, TheLoop, SE, *DT))```


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/sve-scalable-load-in-loop.ll:3
+; RUN: FileCheck --check-prefix=WARN --allow-empty %s <%t
+
+; If this check fails please read test/CodeGen/AArch64/README for instructions on how to resolve it.
----------------
Can you add a description of what this test is supposed to be testing?

Given that there are no CHECK lines that verify the output of `opt`, you may as well leave the first call to FileCheck out.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89798/new/

https://reviews.llvm.org/D89798



More information about the llvm-commits mailing list