[llvm] [SLP]Improve masked loads vectorization, attempting gathered loads (PR #110151)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 7 05:52:38 PDT 2024


================
@@ -3614,6 +3616,13 @@ class BoUpSLP {
       DenseMap<Value *, SmallPtrSet<const TreeEntry *, 4>>;
   ValueToGatherNodesMap ValueToGatherNodes;
 
+  /// A list of the loads, which can be vectorized using strided or masked
+  /// gather approach, but attempted to be represented as contiguous loads.
+  SetVector<unsigned> LoadEntriesToVectorize;
+
+  /// true if graph nodes transforming mode is on.
+  bool IsGraphTransformMode = false;
+
   /// The index of the first gathered load entry in the VectorizeTree.
   constexpr static int NoGatheredLoads = -1;
   int GatheredLoadsEntriesFirst = NoGatheredLoads;
----------------
RKSimon wrote:

(off topic) - Could this be `std::optional<unsigned> GatheredLoadsEntriesFirst = None` ?

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


More information about the llvm-commits mailing list