[all-commits] [llvm/llvm-project] 0eb0fe: [mlir][ExecutionEngine] Only load JITDyLibs withou...

Ingo Müller via All-commits all-commits at lists.llvm.org
Mon Jun 19 00:39:04 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0eb0fecbc544a0416b70f4450a38dfb27c9b5b9a
      https://github.com/llvm/llvm-project/commit/0eb0fecbc544a0416b70f4450a38dfb27c9b5b9a
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2023-06-19 (Mon, 19 Jun 2023)

  Changed paths:
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp

  Log Message:
  -----------
  [mlir][ExecutionEngine] Only load JITDyLibs without init/destroy funcs.

In https://reviews.llvm.org/D153029, I moved the loading/unloading
mechanisms of shared libraries from the JIT runner to the execution
engine in order to make that mechanism available in the latter
(including its Python bindings). However, I realized that I introduced a
small change in semantic: previously, the JIT runner checked for the
presence of init/destroy functions and only loaded the library as
JITDyLib if they were not present. After I moved the code, all libraries
were loaded as JITDyLib, even if they registered their symbols
explicitly in their init function. I am not sure if this is really a
problem but (1) the previous behavior was different and (2) I guess it
could cause a problem if some symbols are exported through the init
function *and*  have public visibility. This patch reestablishes the
original behaviour in the new place of the code.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D153249




More information about the All-commits mailing list