<div dir="ltr"><div>SGTM - I found one more similar ArrayRef use in SLP, so changed that too:</div><div><a href="https://reviews.llvm.org/rG0a349d5827f6" rel="noreferrer" target="_blank">https://reviews.llvm.org/rG0a349d5827f6</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 23, 2020 at 6:49 PM David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Perhaps use const ref in the first for loop, since it doesn't seem to<br>
be modifying the elements of the pair?<br>
<br>
& as for the second - could you skip the use of makeArrayRef and call<br>
the ArrayRef ctor directly now?<br>
<br>
On Wed, Sep 16, 2020 at 5:27 AM Sanjay Patel via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
><br>
><br>
> Author: Sanjay Patel<br>
> Date: 2020-09-16T08:26:21-04:00<br>
> New Revision: 6a23668e78b05703ccba552e09b09b8055924bb6<br>
><br>
> URL: <a href="https://github.com/llvm/llvm-project/commit/6a23668e78b05703ccba552e09b09b8055924bb6" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/6a23668e78b05703ccba552e09b09b8055924bb6</a><br>
> DIFF: <a href="https://github.com/llvm/llvm-project/commit/6a23668e78b05703ccba552e09b09b8055924bb6.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/6a23668e78b05703ccba552e09b09b8055924bb6.diff</a><br>
><br>
> LOG: [SLP] remove uses of 'auto' that obscure functionality; NFC<br>
><br>
> Added:<br>
><br>
><br>
> Modified:<br>
>     llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp<br>
><br>
> Removed:<br>
><br>
><br>
><br>
> ################################################################################<br>
> diff  --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp<br>
> index 0fc5d1a810b50..619964a6f457c 100644<br>
> --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp<br>
> +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp<br>
> @@ -6817,9 +6817,9 @@ class HorizontalReduction {<br>
>      Builder.setFastMathFlags(Unsafe);<br>
><br>
>      BoUpSLP::ExtraValueToDebugLocsMap ExternallyUsedValues;<br>
> -    // The same extra argument may be used several time, so log each attempt<br>
> +    // The same extra argument may be used several times, so log each attempt<br>
>      // to use it.<br>
> -    for (auto &Pair : ExtraArgs) {<br>
> +    for (std::pair<Instruction *, Value *> &Pair : ExtraArgs) {<br>
>        assert(Pair.first && "DebugLoc must be set.");<br>
>        ExternallyUsedValues[Pair.second].push_back(Pair.first);<br>
>      }<br>
> @@ -6844,7 +6844,7 @@ class HorizontalReduction {<br>
><br>
>      unsigned i = 0;<br>
>      while (i < NumReducedVals - ReduxWidth + 1 && ReduxWidth > 2) {<br>
> -      auto VL = makeArrayRef(&ReducedVals[i], ReduxWidth);<br>
> +      ArrayRef<Value *> VL = makeArrayRef(&ReducedVals[i], ReduxWidth);<br>
>        V.buildTree(VL, ExternallyUsedValues, IgnoreList);<br>
>        Optional<ArrayRef<unsigned>> Order = V.bestOrder();<br>
>        // TODO: Handle orders of size less than number of elements in the vector.<br>
><br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>