Add a primitive linalg-lower-to-llvm-dialect pass
authorNicolas Vasilache <ntv@google.com>
Thu, 2 May 2019 18:36:52 +0000 (11:36 -0700)
committerMehdi Amini <joker.eph@gmail.com>
Mon, 6 May 2019 15:24:59 +0000 (08:24 -0700)
commit8adc3f0ec7987800a31bd76695fbe9fc951b7c98
tree26d11bd5783ebb4ab812c68d5ce79be49e047bf3
parent920b8a9bdaa7919f66f43d2b84c6bc75c7ae4923
Add a primitive linalg-lower-to-llvm-dialect pass

    This CL builds upon ftynse@'s Linalg dialect conversion (in examples/Linalg/Linalg1) and updates it to support buffers and the fully composed form of view and slice operations.
    A new BufferSizeOp is introduced for the purpose of extracting the size information from a buffer.
    This will be useful in a followup CL for an end-to-end LLVM execution path where mlir-cpu-runner will allocate a buffer.

--

PiperOrigin-RevId: 246358593
mlir/include/mlir/LLVMIR/Transforms.h
mlir/include/mlir/Linalg/IR/LinalgOps.td
mlir/lib/LLVMIR/Transforms/ConvertToLLVMDialect.cpp
mlir/lib/Linalg/CMakeLists.txt
mlir/lib/Linalg/IR/LinalgOps.cpp
mlir/lib/Linalg/Transforms/LowerToLLVMDialect.cpp [new file with mode: 0644]
mlir/test/Linalg/llvm.mlir [new file with mode: 0644]