[all-commits] [llvm/llvm-project] d584d1: [MLIR][LLVMIR] Import unregistered intrinsics via ...

Bruno Cardoso Lopes via All-commits all-commits at lists.llvm.org
Wed Feb 26 14:34:17 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d584d1f188553b6cb417beb903f58d763c265380
      https://github.com/llvm/llvm-project/commit/d584d1f188553b6cb417beb903f58d763c265380
  Author: Bruno Cardoso Lopes <bcardosolopes at users.noreply.github.com>
  Date:   2025-02-26 (Wed, 26 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/LLVMImportInterface.h
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    A mlir/test/Target/LLVMIR/Import/intrinsic-unregistered.ll

  Log Message:
  -----------
  [MLIR][LLVMIR] Import unregistered intrinsics via llvm.intrinsic_call (#128626)

Currently, the llvm importer can only cover intrinsics that have a first
class representation in an MLIR dialect (arm-neon, etc). This PR
introduces a fallback mechanism that allow "unregistered" intrinsics to
be imported by using the generic `llvm.intrinsic_call` operation. This
is useful in several ways:

1. Allows round-trip the LLVM dialect output lowered from other dialects
(example: ClangIR)
2. Enables MLIR-linking tools to operate on imported LLVM IR without
requiring to add new operations to dozen of different targets (cc
@xlauko @smeenai).

If multiple dialects implement this interface hook, the last one to
register is the one converting all unregistered intrinsics.

---------

Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>



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