[mlir][memref] Add initial Wide Int Emulation pass and patterns
authorJakub Kuderski <kubak@google.com>
Fri, 14 Oct 2022 15:36:47 +0000 (11:36 -0400)
committerJakub Kuderski <kubak@google.com>
Fri, 14 Oct 2022 15:37:52 +0000 (11:37 -0400)
commitfae258e6c6194ddd88894b79053b0fd31df5990d
tree71eb8a15461942ba3eb79e20f19cbc1374bb6e10
parent41ac5d258da3045c871344400aa9e59640ce76a5
[mlir][memref] Add initial Wide Int Emulation pass and patterns

Add a new pass and conversions to emulate wide integer operations over memrefs.
The emulation is implemented on top of the existing pass to emulate wide integer arith ops.

Improve naming in the arith pass to avoid potential name clashes.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D135722
mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
mlir/include/mlir/Dialect/Arith/Transforms/Passes.td
mlir/include/mlir/Dialect/MemRef/Transforms/Passes.h
mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
mlir/lib/Dialect/MemRef/Transforms/EmulateWideInt.cpp [new file with mode: 0644]
mlir/test/Dialect/MemRef/emulate-wide-int.mlir [new file with mode: 0644]
mlir/test/lib/Dialect/Arith/TestEmulateWideInt.cpp