[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