Author: Cullen Rhodes Date: 2024-01-15T14:10:08Z New Revision: 91eb719cae57c7787af56401d2e63545cc53bc75
URL: https://github.com/llvm/llvm-project/commit/91eb719cae57c7787af56401d2e63545cc53bc75 DIFF: https://github.com/llvm/llvm-project/commit/91eb719cae57c7787af56401d2e63545cc53bc75.diff LOG: Revert "[mlir][ExecutionEngine] Add support for global constructors and destructors" Added: Modified: mlir/lib/ExecutionEngine/ExecutionEngine.cpp Removed: mlir/test/mlir-cpu-runner/global-constructors.mlir ################################################################################ diff --git a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp index d4ad2da045e2c4..267ec236d3fd59 100644 --- a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp @@ -219,9 +219,6 @@ ExecutionEngine::ExecutionEngine(bool enableObjectDump, } ExecutionEngine::~ExecutionEngine() { - // Execute the global destructors from the module being processed. - if (jit) - llvm::consumeError(jit->deinitialize(jit->getMainJITDylib())); // Run all dynamic library destroy callbacks to prepare for the shutdown. for (LibraryDestroyFn destroy : destroyFns) destroy(); @@ -399,9 +396,6 @@ ExecutionEngine::create(Operation *m, const ExecutionEngineOptions &options, }; engine->registerSymbols(runtimeSymbolMap); - // Execute the global constructors from the module being processed. - cantFail(engine->jit->initialize(engine->jit->getMainJITDylib())); - return std::move(engine); } diff --git a/mlir/test/mlir-cpu-runner/global-constructors.mlir b/mlir/test/mlir-cpu-runner/global-constructors.mlir deleted file mode 100644 index 3ebcaeccc83e32..00000000000000 --- a/mlir/test/mlir-cpu-runner/global-constructors.mlir +++ /dev/null @@ -1,32 +0,0 @@ -// RUN: mlir-cpu-runner %s -e entry -entry-point-result=void \ -// RUN: -shared-libs=%mlir_c_runner_utils | \ -// RUN: FileCheck %s - -// Test that the `ctor` executes before `entry` and that `dtor` executes last. -module { - llvm.func @printNewline() - llvm.func @printI64(i64) - llvm.mlir.global_ctors {ctors = [@ctor], priorities = [0 : i32]} - llvm.mlir.global_dtors {dtors = [@dtor], priorities = [0 : i32]} - llvm.func @ctor() { - %0 = llvm.mlir.constant(1 : i64) : i64 - llvm.call @printI64(%0) : (i64) -> () - llvm.call @printNewline() : () -> () - // CHECK: 1 - llvm.return - } - llvm.func @entry() { - %0 = llvm.mlir.constant(2 : i64) : i64 - llvm.call @printI64(%0) : (i64) -> () - llvm.call @printNewline() : () -> () - // CHECK: 2 - llvm.return - } - llvm.func @dtor() { - %0 = llvm.mlir.constant(3 : i64) : i64 - llvm.call @printI64(%0) : (i64) -> () - llvm.call @printNewline() : () -> () - // CHECK: 3 - llvm.return - } -} _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits