[all-commits] [llvm/llvm-project] f0967f: [mlir][LLVM] `FuncToLLVM`: Add 1:N type conversion...
Matthias Springer via All-commits
all-commits at lists.llvm.org
Sat Aug 16 00:45:30 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f0967fca04c880e9aabd5be043a85127faabb4c6
https://github.com/llvm/llvm-project/commit/f0967fca04c880e9aabd5be043a85127faabb4c6
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-16 (Sat, 16 Aug 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/MemRefToLLVM/type-conversion.mlir
M mlir/test/lib/Dialect/LLVM/TestPatterns.cpp
Log Message:
-----------
[mlir][LLVM] `FuncToLLVM`: Add 1:N type conversion support (#153823)
Add support for 1:N type conversions to the `FuncToLLVM` lowering
patterns. This commit does not change the lowering of any types (such as
`MemRefType`). It just sets up the infrastructure, such that 1:N type
conversions can be used during `FuncToLLVM`.
Note: When the converted result types of a `func.func` have more than 1
type, then the results are wrapped in an `llvm.struct`. That's because
`llvm.func` does not support multiple result values. This "wrapping" was
already implemented for cases where the original `func.func` has
multiple results. With 1:N conversions, even a single result can now
expand to multiple converted results, triggering the same wrapping
mechanism.
The test cases are exercised with both the old and the new no-rollback
conversion driver.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list