[llvm] [SLP] Use ScopeExit to update Operands/PrevDist on all paths. (NFC) (PR #83490)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 29 15:54:21 PST 2024


================
@@ -13891,12 +13892,17 @@ bool SLPVectorizerPass::vectorizeStores(ArrayRef<StoreInst *> Stores,
         if (Idx != Set.size() - 1)
           continue;
       }
-      if (Operands.size() <= 1) {
+      // Capturing structured bindings are a C++ 20 extension, so use a separate
+      // variable for now.
+      auto &DataVar = Data;
+      auto E = make_scope_exit([&]() {
----------------
alexey-bataev wrote:

```suggestion
      auto E = make_scope_exit([&, &DataVar = Data]() {
```

https://github.com/llvm/llvm-project/pull/83490


More information about the llvm-commits mailing list