[Mlir-commits] [mlir] [mlir][SPIR-V] Add SPIRVToLLVM conversion for GL.FClamp/SClamp/UClamp (PR #203831)

Igor Wodiany llvmlistbot at llvm.org
Mon Jul 6 02:17:24 PDT 2026


================
@@ -921,6 +921,29 @@ class InverseSqrtPattern
   }
 };
 
+/// Converts the GLSL clamp ops (FClamp, SClamp, UClamp) into a nested
+/// min/max sequence, following the op semantics `min(max(x, minVal), maxVal)`.
+template <typename SPIRVOp, typename LLVMMinOp, typename LLVMMaxOp>
+class ClampPattern : public SPIRVToLLVMConversion<SPIRVOp> {
+public:
+  using SPIRVToLLVMConversion<SPIRVOp>::SPIRVToLLVMConversion;
+
+  LogicalResult
+  matchAndRewrite(SPIRVOp op, typename SPIRVOp::Adaptor adaptor,
+                  ConversionPatternRewriter &rewriter) const override {
+    auto dstType = this->getTypeConverter()->convertType(op.getType());
----------------
IgWod wrote:

```suggestion
    Type dstType = this->getTypeConverter()->convertType(op.getType());
```

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


More information about the Mlir-commits mailing list