diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td @@ -1074,37 +1074,6 @@ let assemblyFormat = "$global_name attr-dict `:` qualified(type($res))"; } -def LLVM_MetadataOp : LLVM_Op<"metadata", [ - NoRegionArguments, NoTerminator, SymbolTable, Symbol -]> { - let arguments = (ins - SymbolNameAttr:$sym_name - ); - let summary = "LLVM dialect metadata."; - let description = [{ - llvm.metadata op defines one or more metadata nodes. - - Example: - ```mlir - llvm.metadata @metadata { - llvm.access_group @group1 - llvm.access_group @group2 - } - ``` - }]; - let regions = (region SizedRegion<1>:$body); - - let skipDefaultBuilders = 1; - - let builders = [ - OpBuilder<(ins "StringRef":$symName, - CArg<"bool", "true">:$createBodyBlock, - CArg<"ArrayRef", "{}">:$attributes)> - ]; - - let hasCustomAssemblyFormat = 1; -} - def LLVM_GlobalOp : LLVM_Op<"mlir.global", [IsolatedFromAbove, SingleBlockImplicitTerminator<"ReturnOp">, Symbol]> { let arguments = (ins diff --git a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp --- a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp +++ b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp @@ -2785,49 +2785,6 @@ return IntegerAttr::get(getType(), lhs.getValue() | rhs.getValue()); } -//===----------------------------------------------------------------------===// -// Utilities for LLVM::MetadataOp -//===----------------------------------------------------------------------===// - -void MetadataOp::build(OpBuilder &builder, OperationState &result, - StringRef symName, bool createBodyBlock, - ArrayRef attributes) { - result.addAttribute(getSymNameAttrName(result.name), - builder.getStringAttr(symName)); - result.attributes.append(attributes.begin(), attributes.end()); - Region *body = result.addRegion(); - if (createBodyBlock) - body->emplaceBlock(); -} - -ParseResult MetadataOp::parse(OpAsmParser &parser, OperationState &result) { - StringAttr symName; - if (parser.parseSymbolName(symName, getSymNameAttrName(result.name), - result.attributes) || - parser.parseOptionalAttrDictWithKeyword(result.attributes)) - return failure(); - - Region *bodyRegion = result.addRegion(); - if (parser.parseRegion(*bodyRegion)) - return failure(); - - // If the region appeared to be empty to parseRegion(), - // add the body block explicitly. - if (bodyRegion->empty()) - bodyRegion->emplaceBlock(); - - return success(); -} - -void MetadataOp::print(OpAsmPrinter &printer) { - printer << ' '; - printer.printSymbolName(getSymName()); - printer.printOptionalAttrDictWithKeyword((*this)->getAttrs(), - {getSymNameAttrName().getValue()}); - printer << ' '; - printer.printRegion(getBody()); -} - //===----------------------------------------------------------------------===// // OpAsmDialectInterface //===----------------------------------------------------------------------===// diff --git a/mlir/lib/Target/LLVMIR/LoopAnnotationImporter.h b/mlir/lib/Target/LLVMIR/LoopAnnotationImporter.h --- a/mlir/lib/Target/LLVMIR/LoopAnnotationImporter.h +++ b/mlir/lib/Target/LLVMIR/LoopAnnotationImporter.h @@ -22,8 +22,7 @@ namespace detail { /// A helper class that converts llvm.loop metadata nodes into corresponding -/// LoopAnnotationAttrs and llvm.access.group nodes into -/// AccessGroupMetadataOps. +/// LoopAnnotationAttrs and llvm.access.group nodes into AccessGroupAttrs. class LoopAnnotationImporter { public: LoopAnnotationImporter(ModuleImport &moduleImport, OpBuilder &builder) diff --git a/mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.h b/mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.h --- a/mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.h +++ b/mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.h @@ -21,8 +21,8 @@ namespace LLVM { namespace detail { -/// A helper class that converts LoopAnnotationAttrs and AccessGroupMetadataOps -/// into a corresponding llvm::MDNodes. +/// A helper class that converts LoopAnnotationAttrs and AccessGroupAttrs into +/// corresponding llvm::MDNodes. class LoopAnnotationTranslation { public: LoopAnnotationTranslation(ModuleTranslation &moduleTranslation, diff --git a/mlir/lib/Target/LLVMIR/ModuleImport.cpp b/mlir/lib/Target/LLVMIR/ModuleImport.cpp --- a/mlir/lib/Target/LLVMIR/ModuleImport.cpp +++ b/mlir/lib/Target/LLVMIR/ModuleImport.cpp @@ -361,7 +361,7 @@ ? builder.getStringAttr(**rootNodeIdentity) : nullptr; // The root nodes do not have operands, so we can create - // the TBAARootMetadataOp on the first walk. + // the TBAARootAttr on the first walk. tbaaMapping.insert({current, builder.getAttr(stringAttr)}); continue; } diff --git a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp --- a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp +++ b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp @@ -1142,18 +1142,18 @@ ArrayRef aliasScopeAttrs) const { SmallVector nodes; nodes.reserve(aliasScopeAttrs.size()); - for (AliasScopeAttr aliasScopeRef : aliasScopeAttrs) - nodes.push_back(getAliasScope(aliasScopeRef)); + for (AliasScopeAttr aliasScopeAttr : aliasScopeAttrs) + nodes.push_back(getAliasScope(aliasScopeAttr)); return llvm::MDNode::get(getLLVMContext(), nodes); } void ModuleTranslation::setAliasScopeMetadata(AliasAnalysisOpInterface op, llvm::Instruction *inst) { - auto populateScopeMetadata = [&](ArrayAttr aliasScopeRefs, unsigned kind) { - if (!aliasScopeRefs || aliasScopeRefs.empty()) + auto populateScopeMetadata = [&](ArrayAttr aliasScopeAttrs, unsigned kind) { + if (!aliasScopeAttrs || aliasScopeAttrs.empty()) return; llvm::MDNode *node = getAliasScopes( - llvm::to_vector(aliasScopeRefs.getAsRange())); + llvm::to_vector(aliasScopeAttrs.getAsRange())); inst->setMetadata(kind, node); }; @@ -1398,7 +1398,7 @@ llvm::IRBuilder<> llvmBuilder(llvmContext); for (Operation &o : getModuleBody(module).getOperations()) { if (!isa(&o) && + LLVM::GlobalDtorsOp, LLVM::ComdatOp>(&o) && !o.hasTrait() && failed(translator.convertOperation(o, llvmBuilder))) { return nullptr;