1//===-- TargetOptionsCommandFlags.cpp ---------------------------*- C++ -*-===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8//
9// This file exists as a place for global variables defined in LLVM's
10// CodeGen/CommandFlags.inc. By putting the resulting object file in
11// an archive and linking with it, the definitions will automatically be
12// included when needed and skipped when already present.
13//
14//===----------------------------------------------------------------------===//
15
16#include "lld/Common/TargetOptionsCommandFlags.h"
17
18#include "llvm/CodeGen/CommandFlags.inc"
19#include "llvm/Target/TargetOptions.h"
20
21// Define an externally visible version of
22// initTargetOptionsFromCodeGenFlags, so that its functionality can be
23// used without having to include llvm/CodeGen/CommandFlags.inc, which
24// would lead to multiple definitions of the command line flags.
25llvm::TargetOptions lld::initTargetOptionsFromCodeGenFlags() {
26  return ::InitTargetOptionsFromCodeGenFlags();
27}
28
29llvm::Optional<llvm::Reloc::Model> lld::getRelocModelFromCMModel() {
30  return getRelocModel();
31}
32
33llvm::Optional<llvm::CodeModel::Model> lld::getCodeModelFromCMModel() {
34  return getCodeModel();
35}
36
37std::string lld::getCPUStr() { return ::getCPUStr(); }
38
39std::vector<std::string> lld::getMAttrs() { return ::MAttrs; }
40