Make memref promotion during std->LLVM lowering the default calling convention
authorAlex Zinenko <zinenko@google.com>
Mon, 16 Dec 2019 13:16:35 +0000 (05:16 -0800)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Mon, 16 Dec 2019 13:17:14 +0000 (05:17 -0800)
commit0684aa9a8bcb9823ccf3f55d4e180d8a4df13201
treeb990b4286d45f25352ba30fba500e56596a3bdc6
parent44fc7d72b3cb44147394e22f1f21ad36cca7bca8
Make memref promotion during std->LLVM lowering the default calling convention

During the conversion from the standard dialect to the LLVM dialect,
memref-typed arguments are promoted from registers to memory and passed into
functions by pointer. This had been introduced into the lowering to work around
the abesnce of calling convention modeling in MLIR to enable better
interoperability with LLVM IR generated from C, and has been exerciced for
several months. Make this promotion the default calling covention when
converting to the LLVM dialect. This adds the documentation, simplifies the
code and makes the conversion consistent across function operations and
function types used in other places, e.g. in high-order functions or
attributes, which would not follow the same rule previously.

PiperOrigin-RevId: 285751280
mlir/g3doc/ConversionToLLVMDialect.md
mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp
mlir/test/Conversion/StandardToLLVM/convert-funcs.mlir