[llvm-branch-commits] [mlir] [mlir] Add predicates to tablegen-defined properties (PR #120176)

Markus Böck via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Dec 17 09:31:51 PST 2024


================
@@ -63,6 +65,12 @@ class Property<string storageTypeParam = "", string desc = ""> {
     return convertFromAttribute($_storage, $_attr, $_diag);
   }];
 
+  // The verification predicate for this property. Defaults to And<[]>,
+  // which is trivially true, since properties are always their expected type.
+  // Within the predicate, `$_self` is an instance of the **interface**
+  // type of the property.
+  Pred predicate = ?;
----------------
zero9178 wrote:

What is the use case for detecting this/propagating this to `OptionalProperty`? 
Is this purely as an optimization for the generated code (for e.g. debug builds) or do we need this semantics accessible from within TableGen? I'd rather have this optimization implemented in C++ and not have the public API suffer because of it.

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


More information about the llvm-branch-commits mailing list