[Orc] Expose the compile callback API through the C bindings.
llvm-svn: 251683
diff --git a/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h b/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
index bfdaced..15d9f54 100644
--- a/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
+++ b/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
@@ -38,23 +38,20 @@
InitializeNativeTargetAsmPrinter();
NativeTargetInitialized = true;
}
+
+ // Try to select a TargetMachine for the host.
+ TM.reset(EngineBuilder().selectTarget());
+
+ if (TM) {
+ // If we found a TargetMachine, check that it's one that Orc supports.
+ const Triple& TT = TM->getTargetTriple();
+ if (TT.getArch() != Triple::x86_64 || !TT.isOSDarwin())
+ TM = nullptr;
+ }
};
- // Get a target machine for the host if it supports JIT execution.
- std::unique_ptr<TargetMachine> getHostTargetMachineIfSupported() {
- std::unique_ptr<TargetMachine> TM(EngineBuilder().selectTarget());
-
- if (!TM)
- return nullptr;
-
- const Triple& TT = TM->getTargetTriple();
-
- if (TT.getArch() != Triple::x86_64 || !TT.isOSDarwin())
- return nullptr;
-
- return TM;
- }
-
+protected:
+ std::unique_ptr<TargetMachine> TM;
private:
static bool NativeTargetInitialized;
};