[all-commits] [llvm/llvm-project] 7498ea: [mlir][LLVM] Add the `ConvertToLLVMAttrInterface` ...
Fabian Mora via All-commits
all-commits at lists.llvm.org
Sun Nov 24 07:10:05 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7498eaa9abf2e4ac0c10fa9a02576d708cc1b624
https://github.com/llvm/llvm-project/commit/7498eaa9abf2e4ac0c10fa9a02576d708cc1b624
Author: Fabian Mora <6982088+fabianmcg at users.noreply.github.com>
Date: 2024-11-24 (Sun, 24 Nov 2024)
Changed paths:
M mlir/include/mlir/Conversion/CMakeLists.txt
A mlir/include/mlir/Conversion/ConvertToLLVM/CMakeLists.txt
M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.h
A mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.td
A mlir/include/mlir/Conversion/GPUCommon/GPUToLLVM.h
A mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVM.h
M mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ToLLVMInterface.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
A mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-target-attr.mlir
Log Message:
-----------
[mlir][LLVM] Add the `ConvertToLLVMAttrInterface` and `ConvertToLLVMOpInterface` interfaces (#99566)
This patch adds the `ConvertToLLVMAttrInterface` and
`ConvertToLLVMOpInterface` interfaces. It also modifies the
`convert-to-llvm` pass to use these interfaces when available.
The `ConvertToLLVMAttrInterface` interfaces allows attributes to
configure conversion to LLVM, including the conversion target, LLVM type
converter, and populating conversion patterns. See the `NVVMTargetAttr`
implementation of this interface for an example of how this interface
can be used to configure conversion to LLVM.
The `ConvertToLLVMOpInterface` interface collects all convert to LLVM
attributes stored in an operation.
Finally, the `convert-to-llvm` pass was modified to use these interfaces
when available. This allows applying `convert-to-llvm` to GPU modules
and letting the `NVVMTargetAttr` decide which patterns to populate.
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