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