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

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Oct 8 13:36:45 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: Jasmine Tang (badumbatish)

<details>
<summary>Changes</summary>

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

---
Full diff: https://github.com/llvm/llvm-project/pull/162547.diff


1 Files Affected:

- (modified) mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h (+4) 


``````````diff
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)

``````````

</details>


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


More information about the Mlir-commits mailing list