From 7984b47401f7f36475619abf2ff02de3b5ff0481 Mon Sep 17 00:00:00 2001 From: Alex Zinenko Date: Wed, 22 Jan 2020 10:12:04 +0100 Subject: [PATCH] [mlir][orc] unbreak MLIR ExecutionEngine after ORC changes Changes to ORC in ce2207abaf9a925b35f15ef92aaff6b301ba6d22 changed the APIs in IRCompileLayer, now requiring the custom compiler to be wrapped in IRCompileLayer::IRCompiler. Even though MLIR relies on Orc CompileUtils, the type is still visible in several places in the code. Adapt those to the new API. --- mlir/lib/ExecutionEngine/ExecutionEngine.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp index 651c90a..2cd3404 100644 --- a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp @@ -256,14 +256,14 @@ Expected> ExecutionEngine::create( // Callback to inspect the cache and recompile on demand. This follows Lang's // LLJITWithObjectCache example. auto compileFunctionCreator = [&](JITTargetMachineBuilder JTMB) - -> Expected { + -> Expected> { if (jitCodeGenOptLevel) JTMB.setCodeGenOptLevel(jitCodeGenOptLevel.getValue()); auto TM = JTMB.createTargetMachine(); if (!TM) return TM.takeError(); - return IRCompileLayer::CompileFunction( - TMOwningSimpleCompiler(std::move(*TM), engine->cache.get())); + return std::make_unique(std::move(*TM), + engine->cache.get()); }; // Create the LLJIT by calling the LLJITBuilder with 2 callbacks. -- 2.7.4