[llvm] [Analysis] Add Scalable field in MemoryLocation.h (PR #65759)

David Green via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 2 07:41:49 PDT 2023


================
@@ -976,22 +977,30 @@ struct DSEState {
       return isMaskedStoreOverwrite(KillingI, DeadI, BatchAA);
     }
 
-    const uint64_t KillingSize = KillingLocSize.getValue();
-    const uint64_t DeadSize = DeadLoc.Size.getValue();
+    const TypeSize KillingSize = KillingLocSize.getValue();
+    const TypeSize DeadSize = DeadLoc.Size.getValue();
+    // Bail on doing Size comparison which depends on AA for now
+    // TODO: Remove AnyScalable once Alias Analysis deal with scalable vectors
+    const bool AnyScalable =
+        DeadSize.isScalable() || KillingLocSize.isScalable();
 
+    // TODO: Remove AnyScalable constraint once alias analysis fully support
+    // scalable quantities
+    if (AnyScalable)
----------------
davemgreen wrote:

Is this change needed, if the code paths below already handle scalable sizes.

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


More information about the llvm-commits mailing list