[mlir][MemRef] Fix MemRefCastOpLowering for 32 bit index type.
authorAdrian Kuegel <akuegel@google.com>
Fri, 11 Feb 2022 10:45:47 +0000 (11:45 +0100)
committerAdrian Kuegel <akuegel@google.com>
Fri, 11 Feb 2022 11:37:15 +0000 (12:37 +0100)
commit5b02a480858f9c49f5bab74b06403af2fc6fad1b
treef196e702454ff3b39eac9d2a650c05e77cb5ebce
parent855cd847f7f54e7f05bbac94e386aee0d434f685
[mlir][MemRef] Fix MemRefCastOpLowering for 32 bit index type.

The lowering creates llvm.insertvalue with the rank value, so it needs to use
index type instead of 64 bit integer type. Otherwise, we get an error:

llvm.insertvalue' op Type mismatch: cannot insert 'i64' into '!llvm.struct<(i32, ptr<i8>)>'

Differential Revision: https://reviews.llvm.org/D119534
mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
mlir/test/Conversion/StandardToLLVM/calling-convention.mlir