[PATCH] D73198: [ARM][MVE] Tail-predication: support constant trip count

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 24 07:26:24 PST 2020


samparker added inline comments.


================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:243
+//
+static bool MatchElemCountLoopSetup(Loop *L, Instruction *Shuffle,
+                                    Value *NumElements) {
----------------
Combine with ComputeRuntimeElements? I'm finding really hard to follow what's producing what and why some things are pointers and others of pointer pointers...


================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:272
+// the loop is a candidate for tail-predication.
+bool MVETailPredication::isTailPredicate(Instruction *ICmp, Value *NumElements,
+                                         Instruction *Shuffle,
----------------
Doesn't look like you need ICmp or Shuffle here.


================
Comment at: llvm/lib/Target/ARM/MVETailPredication.cpp:646
+
+    if ((NumElements =
+             ComputeConstElements(Predicate, TripCount, VecTy, &Induction)) &&
----------------
if MatchElemCountLoopSetup was merged with ComputeRuntimeElements, we can also get rid of the duplicated call to isTailPredicate and the lambda.

```
if (NumElements = ComputeConst...)
else if (NumElements = ComputeRuntime...)
else continue;

if (!isTailPredicate...) continue;
```


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

https://reviews.llvm.org/D73198





More information about the llvm-commits mailing list