From 89eed79c1fa801f4254c3b20aee6185b274180f4 Mon Sep 17 00:00:00 2001 From: George Mitenkov Date: Sat, 7 Nov 2020 12:27:03 +0300 Subject: [PATCH] [MLIR][SPIRVToLLVM] Added module name conversion Since SPIR-V module has an optional name, this patch makes a change to pass it to `ModuleOp` during conversion. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D90904 --- mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp | 3 ++- mlir/test/Conversion/SPIRVToLLVM/module-ops-to-llvm.mlir | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp b/mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp index db6a247..571e85c 100644 --- a/mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp +++ b/mlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp @@ -1269,7 +1269,8 @@ public: matchAndRewrite(spirv::ModuleOp spvModuleOp, ArrayRef operands, ConversionPatternRewriter &rewriter) const override { - auto newModuleOp = rewriter.create(spvModuleOp.getLoc()); + auto newModuleOp = + rewriter.create(spvModuleOp.getLoc(), spvModuleOp.getName()); rewriter.inlineRegionBefore(spvModuleOp.body(), newModuleOp.getBody()); // Remove the terminator block that was automatically added by builder diff --git a/mlir/test/Conversion/SPIRVToLLVM/module-ops-to-llvm.mlir b/mlir/test/Conversion/SPIRVToLLVM/module-ops-to-llvm.mlir index b8169a1..a2dbd19 100644 --- a/mlir/test/Conversion/SPIRVToLLVM/module-ops-to-llvm.mlir +++ b/mlir/test/Conversion/SPIRVToLLVM/module-ops-to-llvm.mlir @@ -7,6 +7,9 @@ // CHECK: module spv.module Logical GLSL450 {} +// CHECK: module @foo +spv.module @foo Logical GLSL450 {} + // CHECK: module spv.module Logical GLSL450 requires #spv.vce {} -- 2.7.4