[PATCH] D45366: Support generic expansion of ordered vector reduction (PR36732)

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 6 07:06:34 PDT 2018


ABataev added inline comments.


================
Comment at: include/llvm/Transforms/Utils/LoopUtils.h:517
+                        RecurrenceDescriptor::MRK_Invalid,
+                    ArrayRef<Value *> RedOps = ArrayRef<Value *>());
+
----------------
`ArrayRef<Value *> RedOps = ArrayRef<Value *>()`->`ArrayRef<Value *> RedOps = None`


================
Comment at: lib/CodeGen/ExpandReductions.cpp:122-124
+    auto Rdx = IsOrdered
+                   ? getOrderedReduction(Builder, Acc, Vec, getOpcode(ID), MRK)
+                   : getShuffleReduction(Builder, Vec, getOpcode(ID), MRK);
----------------
`auto`->`Value *`


================
Comment at: lib/Transforms/Utils/LoopUtils.cpp:1537
+
+  auto CreateReductionOp = [&](Value *X, Value *Y) {
+    Value *Result;
----------------
1. `auto`->`auto &&`
2. Use explicit capturing


================
Comment at: lib/Transforms/Utils/LoopUtils.cpp:1560
+
+  for (; ExtractIdx != VF; ExtractIdx++) {
+    Value *Ext =
----------------
Use preincrement expression


Repository:
  rL LLVM

https://reviews.llvm.org/D45366





More information about the llvm-commits mailing list