[PATCH] D103814: [LoopVectorize] Don't use strict reductions when reordering is allowed

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 7 07:50:31 PDT 2021


sdesmalen added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:557
 
+  bool useOrderedReductions(RecurrenceDescriptor &RdxDesc);
+
----------------
Can you add a doxygen description for the interface?


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:1307
 
+  bool useOrderedReductions(RecurrenceDescriptor &RdxDesc) {
+    return EnableStrictReductions && !Hints->allowReordering() &&
----------------
Is this interface in the CostModel necessary? It seems the one in InnerLoopVectorizer sufficient?


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll:660
   %exitcond.not = icmp eq i64 %iv.next, %N
-  br i1 %exitcond.not, label %for.end, label %for.body
+  br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !4
 
----------------
Does this require a new combination, or could it reuse e.g. !2?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103814



More information about the llvm-commits mailing list