[llvm] [LAA] Add initial support for non-power-of-2 store-load forwarding distance (PR #137873)

Ramkumar Ramachandra via llvm-commits llvm-commits at lists.llvm.org
Tue May 13 12:06:26 PDT 2025


================
@@ -319,9 +332,14 @@ class MemoryDepChecker {
   /// restrictive.
   uint64_t MaxSafeVectorWidthInBits = -1U;
 
-  /// Maximum power-of-2 number of elements, which do not prevent store-load
-  /// forwarding, multiplied by the size of the elements in bits.
-  uint64_t MaxStoreLoadForwardSafeDistanceInBits =
+  /// Maximum number of elements, which do not prevent store-load forwarding,
+  /// multiplied by the size of the elements in bits (power-of-2).
+  uint64_t MaxPowerOf2StoreLoadForwardSafeDistanceInBits =
+      std::numeric_limits<uint64_t>::max();
+
+  /// Maximum number of elements, which do not prevent store-load forwarding,
+  /// multiplied by the size of the elements in bits (non-power-of-2).
+  uint64_t MaxNonPowerOf2StoreLoadForwardSafeDistanceInBits =
       std::numeric_limits<uint64_t>::max();
----------------
artagnon wrote:

Seems redundant to have both, when only one is ever going to be used.

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


More information about the llvm-commits mailing list