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