1*ace01605SRiver Riddle //===- ControlFlowToSPIRV.h - CF to SPIR-V Patterns --------*- C++ ------*-===//
2*ace01605SRiver Riddle //
3*ace01605SRiver Riddle // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*ace01605SRiver Riddle // See https://llvm.org/LICENSE.txt for license information.
5*ace01605SRiver Riddle // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*ace01605SRiver Riddle //
7*ace01605SRiver Riddle //===----------------------------------------------------------------------===//
8*ace01605SRiver Riddle //
9*ace01605SRiver Riddle // Provides patterns to convert ControlFlow dialect to SPIR-V dialect.
10*ace01605SRiver Riddle //
11*ace01605SRiver Riddle //===----------------------------------------------------------------------===//
12*ace01605SRiver Riddle 
13*ace01605SRiver Riddle #ifndef MLIR_CONVERSION_CONTROLFLOWTOSPIRV_CONTROLFLOWTOSPIRV_H
14*ace01605SRiver Riddle #define MLIR_CONVERSION_CONTROLFLOWTOSPIRV_CONTROLFLOWTOSPIRV_H
15*ace01605SRiver Riddle 
16*ace01605SRiver Riddle namespace mlir {
17*ace01605SRiver Riddle class RewritePatternSet;
18*ace01605SRiver Riddle class SPIRVTypeConverter;
19*ace01605SRiver Riddle 
20*ace01605SRiver Riddle namespace cf {
21*ace01605SRiver Riddle /// Appends to a pattern list additional patterns for translating ControlFLow
22*ace01605SRiver Riddle /// ops to SPIR-V ops.
23*ace01605SRiver Riddle void populateControlFlowToSPIRVPatterns(SPIRVTypeConverter &typeConverter,
24*ace01605SRiver Riddle                                         RewritePatternSet &patterns);
25*ace01605SRiver Riddle } // namespace cf
26*ace01605SRiver Riddle } // namespace mlir
27*ace01605SRiver Riddle 
28*ace01605SRiver Riddle #endif // MLIR_CONVERSION_CONTROLFLOWTOSPIRV_CONTROLFLOWTOSPIRV_H
29