[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