1 //===--------- OrcTestCommon.cpp - Utilities for Orc Unit Tests -----------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // Common utilities for Orc unit tests.
11 //===----------------------------------------------------------------------===//
13 #include "OrcTestCommon.h"
17 bool OrcNativeTarget::NativeTargetInitialized
= false;
19 ModuleBuilder::ModuleBuilder(LLVMContext
&Context
, StringRef Triple
,
21 : M(new Module(Name
, Context
)) {
23 M
->setTargetTriple(Triple
);
26 void llvm::orc::CoreAPIsBasedStandardTest::OverridableDispatcher::dispatch(
27 std::unique_ptr
<Task
> T
) {
28 if (Parent
.DispatchOverride
)
29 Parent
.DispatchOverride(std::move(T
));
31 InPlaceTaskDispatcher::dispatch(std::move(T
));
34 std::unique_ptr
<llvm::orc::ExecutorProcessControl
>
35 llvm::orc::CoreAPIsBasedStandardTest::makeEPC(
36 std::shared_ptr
<SymbolStringPool
> SSP
) {
37 return std::make_unique
<UnsupportedExecutorProcessControl
>(
38 std::move(SSP
), std::make_unique
<OverridableDispatcher
>(*this));