[mlir][LLVM] Replace readnone with memory effects
authorChristian Ulmann <christian.ulmann@nextsilicon.com>
Thu, 12 Jan 2023 15:48:19 +0000 (16:48 +0100)
committerChristian Ulmann <christian.ulmann@nextsilicon.com>
Thu, 19 Jan 2023 10:50:04 +0000 (11:50 +0100)
commit9b9cfe77a50abccc4b82a497e17566a454b699bd
treed1a4cdf93367d7d0446cd259be77332c0f6aa260
parent3d70f3c7889e4df95fd216d66b7721617bed942f
[mlir][LLVM] Replace readnone with memory effects

This commit introduces LLVM's `MemoryEffects` attribute and replaces the
deprecated usage of `llvm.readnone` in the LLVM dialect.
The absence of the attribute on a `LLVMFuncOp` implies that it might
access all kinds of memory. This semantic corresponds to `llvm::Function`'s
behaviour.

Depends on D142002

Differential Revision: https://reviews.llvm.org/D142013
14 files changed:
mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
mlir/lib/Target/LLVMIR/ModuleImport.cpp
mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
mlir/test/Dialect/LLVMIR/func.mlir
mlir/test/Target/LLVMIR/Import/function-attributes.ll
mlir/test/Target/LLVMIR/llvmir.mlir