diff --git a/mlir/include/mlir/Dialect/GPU/IR/GPUOps.td b/mlir/include/mlir/Dialect/GPU/IR/GPUOps.td index 10719aae5c8b4..eb81b6469746f 100644 --- a/mlir/include/mlir/Dialect/GPU/IR/GPUOps.td +++ b/mlir/include/mlir/Dialect/GPU/IR/GPUOps.td @@ -1241,7 +1241,7 @@ def GPU_BarrierOp : GPU_Op<"barrier"> { def GPU_GPUModuleOp : GPU_Op<"module", [ DataLayoutOpInterface, HasDefaultDLTIDataLayout, IsolatedFromAbove, SymbolTable, Symbol, SingleBlockImplicitTerminator<"ModuleEndOp"> - ]>, Arguments<(ins + ]>, Arguments<(ins SymbolNameAttr:$sym_name, OptionalAttr:$targets, OptionalAttr:$offloadingHandler)> { let summary = "A top level compilation unit containing code to be run on a GPU."; diff --git a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp index 0c2590d711301..d8e29da6512d4 100644 --- a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp +++ b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp @@ -1730,12 +1730,11 @@ void GPUModuleOp::build(OpBuilder &builder, OperationState &result, StringRef name, ArrayAttr targets, Attribute offloadingHandler) { ensureTerminator(*result.addRegion(), builder, result.location); - result.attributes.push_back(builder.getNamedAttr( - ::mlir::SymbolTable::getSymbolAttrName(), builder.getStringAttr(name))); Properties &props = result.getOrAddProperties(); if (targets) props.targets = targets; + props.setSymName(builder.getStringAttr(name)); props.offloadingHandler = offloadingHandler; } @@ -1751,11 +1750,11 @@ ParseResult GPUModuleOp::parse(OpAsmParser &parser, OperationState &result) { StringAttr nameAttr; ArrayAttr targetsAttr; - if (parser.parseSymbolName(nameAttr, mlir::SymbolTable::getSymbolAttrName(), - result.attributes)) + if (parser.parseSymbolName(nameAttr)) return failure(); Properties &props = result.getOrAddProperties(); + props.setSymName(nameAttr); // Parse the optional offloadingHandler if (succeeded(parser.parseOptionalLess())) {