Make it possible to override the lowering of MemRef to the LLVM dialect. NFC.
authorAlex Zinenko <zinenko@google.com>
Tue, 17 Dec 2019 20:09:33 +0000 (12:09 -0800)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Tue, 17 Dec 2019 20:10:04 +0000 (12:10 -0800)
commit42b3fe833502390d44d2df126048c8310dffa9bd
tree37fd5b3b94a01356cc3c00c1c426b3ee649fb924
parent62f498dcb75b0a2086d5426c803c29a080badddb
Make it possible to override the lowering of MemRef to the LLVM dialect. NFC.

The lowering of MemRef types to the LLVM dialect is connected to the underlying
runtime representation of structured memory buffers. It has changed several
times in the past and reached the current state of a LLVM structured-typed
descriptor containing two pointers and all sizes. In several reported use
cases, a different, often simpler, lowering scheme is required. For example,
lowering statically-shaped memrefs to bare LLVM pointers to simplify aliasing
annotation. Split the pattern population functions into those include
memref-related operations and the remaining ones. Users are expected to extend
TypeConverter::convertType to handle the memref types differently.
PiperOrigin-RevId: 286030610
mlir/g3doc/ConversionToLLVMDialect.md
mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp