[Mlir-commits] [mlir] [MLIR] [NFC] Add static assert to subclass AbstractSparseLattice (PR #162547)

Jasmine Tang llvmlistbot at llvm.org
Wed Oct 8 13:36:10 PDT 2025


https://github.com/badumbatish created https://github.com/llvm/llvm-project/pull/162547

SparseForwardDataFlowAnalysis, with the comments specifying that StateT must be sublclassing AbstractSparseLattice, also places a static assert in the class itself.

This commit adds the same missing assert for SparseBackwardDataFlowAnalysis

>From c53e21b9583dd1fb6a9a6ef817ac8ba204e7707f Mon Sep 17 00:00:00 2001
From: badumbatish <tanghocle456 at gmail.com>
Date: Wed, 8 Oct 2025 13:33:51 -0700
Subject: [PATCH] Add static assert to subclass AbstractSparseLattice

---
 mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h b/mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
index 3f8874d02afad..1a33ecf8b5aa9 100644
--- a/mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
+++ b/mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
@@ -518,6 +518,10 @@ class AbstractSparseBackwardDataFlowAnalysis : public DataFlowAnalysis {
 template <typename StateT>
 class SparseBackwardDataFlowAnalysis
     : public AbstractSparseBackwardDataFlowAnalysis {
+  static_assert(
+      std::is_base_of<AbstractSparseLattice, StateT>::value,
+      "analysis state class expected to subclass AbstractSparseLattice");
+
 public:
   explicit SparseBackwardDataFlowAnalysis(DataFlowSolver &solver,
                                           SymbolTableCollection &symbolTable)



More information about the Mlir-commits mailing list