[Mlir-commits] [mlir] [mlir][spirv] Improve verification for SPIR-V TOSA ops (PR #195624)

Davide Grohmann llvmlistbot at llvm.org
Wed May 6 02:14:10 PDT 2026


================
@@ -247,6 +241,78 @@ class ProductDimOrOneOrDynamicPred<string lhs, int lhsDim, string rhs,
     DimIsOne<output, outputDim>
   ]>;
 
+class AttrIsFloat<string attr> :
+  CPred<"::llvm::isa<::mlir::FloatAttr>(get" #
+        snakeCaseToCamelCase<attr>.ret # "())">;
+
+class AttrIsInteger<string attr> :
+  CPred<"::llvm::isa<::mlir::IntegerAttr>(get" #
+        snakeCaseToCamelCase<attr>.ret # "())">;
+
+class IntegerAttrValue<string attr> :
+  StrFunc<"::llvm::cast<::mlir::IntegerAttr>(get" #
+          snakeCaseToCamelCase<attr>.ret # "()).getValue()">;
+
+class FloatAttrValue<string attr> :
+  StrFunc<"::llvm::cast<::mlir::FloatAttr>(get" #
+          snakeCaseToCamelCase<attr>.ret # "()).getValue()">;
+
+class FloatAttrIsNotNaN<string attr> :
+  Implies<AttrIsFloat<attr>,
+          [CPred<"!::llvm::cast<::mlir::FloatAttr>(get" #
+                 snakeCaseToCamelCase<attr>.ret # "()).getValue().isNaN()">]>;
+
+class RanksMatchPred<string lhs, string rhs> :
----------------
davidegrohmann wrote:

Unfortunately not. `AllRanksMatch` is a `PredOpTrait` not a `CPred` so it cannot be used in the `And`.

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


More information about the Mlir-commits mailing list