External library name mangling support for linalg.
authorNicolas Vasilache <ntv@google.com>
Fri, 9 Aug 2019 14:33:34 +0000 (07:33 -0700)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Fri, 9 Aug 2019 14:33:58 +0000 (07:33 -0700)
commit59b473c231f6295bd4aa7199da5816caae5a5e3a
tree270ba29f325975673785700c52830e585a633001
parent20f2d3b5981fd9a50c7e54a66fa88e6fac957a81
External library name mangling support for linalg.

This CL introduces the ability to generate the external library name for Linalg operations.
The problem is that neither mlir or C support overloading and we want a simplified form of name mangling that is still reasonable to read.
This CL creates the name of the external call that Linalg expects from the operation name and the type of its arguments.

The interface library names are updated and use new cases are added for FillOp.

PiperOrigin-RevId: 262556833
mlir/include/mlir/Linalg/IR/LinalgLibraryOps.td
mlir/include/mlir/Linalg/IR/LinalgOps.h
mlir/lib/Linalg/IR/LinalgOps.cpp
mlir/lib/Linalg/Transforms/LowerToLLVMDialect.cpp
mlir/test/Linalg/llvm.mlir
mlir/test/mlir-cpu-runner/cblas_interface.cpp
mlir/test/mlir-cpu-runner/linalg_integration_test.mlir