123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- //===----------- CoreAPIsTest.cpp - Unit tests for Core ORC APIs ----------===//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- #include "llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h"
- #include "OrcTestCommon.h"
- using namespace llvm;
- using namespace llvm::orc;
- namespace {
- TEST(ExecutionUtilsTest, JITTargetMachineBuilder) {
- // Tests basic API usage.
- // Bails out on error, as it is valid to run this test without any targets
- // built.
- // Make sure LLVM has been initialized.
- OrcNativeTarget::initialize();
- auto JTMB = cantFail(JITTargetMachineBuilder::detectHost());
- // Test API by performing a bunch of no-ops.
- JTMB.setCPU("");
- JTMB.setRelocationModel(None);
- JTMB.setCodeModel(None);
- JTMB.setCodeGenOptLevel(CodeGenOpt::None);
- JTMB.addFeatures(std::vector<std::string>());
- SubtargetFeatures &STF = JTMB.getFeatures();
- (void)STF;
- TargetOptions &TO = JTMB.getOptions();
- (void)TO;
- Triple &TT = JTMB.getTargetTriple();
- (void)TT;
- auto TM = JTMB.createTargetMachine();
- if (!TM)
- consumeError(TM.takeError());
- else {
- EXPECT_NE(TM.get(), nullptr)
- << "JITTargetMachineBuilder should return a non-null TargetMachine "
- "on success";
- }
- }
- } // namespace
|