Pipe Linalg to LLVM via mlir-cpu-runner
authorNicolas Vasilache <ntv@google.com>
Thu, 9 May 2019 19:34:04 +0000 (12:34 -0700)
committerMehdi Amini <joker.eph@gmail.com>
Sat, 11 May 2019 02:26:18 +0000 (19:26 -0700)
commit33449c3e6c0cbff11a168e7a05c2ecd342f1b80b
treefc9ae825560adf8c6d5905f5c3746ac53d162442
parent07f777f6cd5826d338e997300b38eb4a3352d472
Pipe Linalg to LLVM via mlir-cpu-runner

    This CL adds support for functions in the Linalg dialect to run with mlir-cpu-runner.
    For this purpose, this CL adds BufferAllocOp, BufferDeallocOp, LoadOp and StoreOp to the Linalg dialect as well as their lowering to LLVM. To avoid collisions with mlir::LoadOp/StoreOp (which should really become mlir::affine::LoadOp/StoreOp), the mlir::linalg namespace is added.

    The execution uses a dummy linalg_dot function that just returns for now. In the future a proper library call will be used.

--

PiperOrigin-RevId: 247476061
14 files changed:
mlir/include/mlir/Linalg/IR/LinalgOps.h
mlir/include/mlir/Linalg/IR/LinalgOps.td
mlir/include/mlir/Linalg/IR/LinalgTraits.h
mlir/include/mlir/Linalg/IR/LinalgTypes.h
mlir/include/mlir/Linalg/Passes.h
mlir/lib/Linalg/IR/LinalgOps.cpp
mlir/lib/Linalg/IR/LinalgTypes.cpp
mlir/lib/Linalg/LinalgRegistration.cpp
mlir/lib/Linalg/Transforms/LowerToLLVMDialect.cpp
mlir/lib/Linalg/Transforms/Tiling.cpp
mlir/lib/Linalg/Utils/Utils.cpp
mlir/test/mlir-cpu-runner/simple_linalg.mlir [new file with mode: 0644]
mlir/tools/mlir-cpu-runner/CMakeLists.txt
mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp