[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