1 //===- SPIRVGLCanonicalization.cpp - SPIR-V GLSL canonicalization patterns =// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file defines the canonicalization patterns for SPIR-V GLSL-specific ops. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #include "mlir/Dialect/SPIRV/IR/SPIRVGLCanonicalization.h" 14 15 #include "mlir/Dialect/SPIRV/IR/SPIRVOps.h" 16 17 using namespace mlir; 18 19 namespace { 20 #include "SPIRVCanonicalization.inc" 21 } // namespace 22 23 namespace mlir { 24 namespace spirv { 25 void populateSPIRVGLCanonicalizationPatterns(RewritePatternSet &results) { 26 results.add<ConvertComparisonIntoClamp1_SPV_FOrdLessThanOp, 27 ConvertComparisonIntoClamp1_SPV_FOrdLessThanEqualOp, 28 ConvertComparisonIntoClamp1_SPV_SLessThanOp, 29 ConvertComparisonIntoClamp1_SPV_SLessThanEqualOp, 30 ConvertComparisonIntoClamp1_SPV_ULessThanOp, 31 ConvertComparisonIntoClamp1_SPV_ULessThanEqualOp, 32 ConvertComparisonIntoClamp2_SPV_FOrdLessThanOp, 33 ConvertComparisonIntoClamp2_SPV_FOrdLessThanEqualOp, 34 ConvertComparisonIntoClamp2_SPV_SLessThanOp, 35 ConvertComparisonIntoClamp2_SPV_SLessThanEqualOp, 36 ConvertComparisonIntoClamp2_SPV_ULessThanOp, 37 ConvertComparisonIntoClamp2_SPV_ULessThanEqualOp>( 38 results.getContext()); 39 } 40 } // namespace spirv 41 } // namespace mlir 42