[MLIR] Add conversion from AtomicRMWOp -> GenericAtomicRMWOp.
authorAlexander Belyaev <pifon@google.com>
Tue, 5 May 2020 06:30:30 +0000 (08:30 +0200)
committerAlexander Belyaev <pifon@google.com>
Tue, 5 May 2020 08:32:13 +0000 (10:32 +0200)
commitb79751e83d7e50aa897049e9831dff840926d368
tree5f92fb2b71096a682973efefda087edc65a3c7b3
parentcd3a54c55a376522628defeef803c20c5344ba71
[MLIR] Add conversion from AtomicRMWOp -> GenericAtomicRMWOp.

Adding this pattern reduces code duplication. There is no need to have a
custom implementation for lowering to llvm.cmpxchg.

Differential Revision: https://reviews.llvm.org/D78753
13 files changed:
mlir/docs/Passes.md
mlir/include/mlir/Dialect/StandardOps/CMakeLists.txt
mlir/include/mlir/Dialect/StandardOps/Transforms/CMakeLists.txt [new file with mode: 0644]
mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.h [new file with mode: 0644]
mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td [new file with mode: 0644]
mlir/include/mlir/InitAllPasses.h
mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
mlir/lib/Dialect/StandardOps/CMakeLists.txt
mlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt [new file with mode: 0644]
mlir/lib/Dialect/StandardOps/Transforms/ExpandAtomic.cpp [new file with mode: 0644]
mlir/lib/Dialect/StandardOps/Transforms/PassDetail.h [new file with mode: 0644]
mlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
mlir/test/Dialect/Standard/expand-atomic.mlir [new file with mode: 0644]