#ifndef MLIR_CONVERSION_SPIRVTOLLVM_SPIRVTOLLVM_H
#define MLIR_CONVERSION_SPIRVTOLLVM_SPIRVTOLLVM_H
#include "mlir/Transforms/DialectConversion.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVEnums.h"
namespace mlir {
class LLVMTypeConverter;
class MLIRContext;
class ModuleOp;
template <typename SPIRVOp>
class SPIRVToLLVMConversion : public OpConversionPattern<SPIRVOp> { … };
void encodeBindAttribute(ModuleOp module);
void populateSPIRVToLLVMTypeConversion(
LLVMTypeConverter &typeConverter,
spirv::ClientAPI clientAPIForAddressSpaceMapping =
spirv::ClientAPI::Unknown);
void populateSPIRVToLLVMConversionPatterns(
const LLVMTypeConverter &typeConverter, RewritePatternSet &patterns,
spirv::ClientAPI clientAPIForAddressSpaceMapping =
spirv::ClientAPI::Unknown);
void populateSPIRVToLLVMFunctionConversionPatterns(
const LLVMTypeConverter &typeConverter, RewritePatternSet &patterns);
void populateSPIRVToLLVMModuleConversionPatterns(
const LLVMTypeConverter &typeConverter, RewritePatternSet &patterns);
}
#endif