10b57cec5SDimitry Andric //===-- TargetOptionsCommandFlags.cpp ---------------------------*- C++ -*-===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric 
90b57cec5SDimitry Andric #include "lld/Common/TargetOptionsCommandFlags.h"
105ffd83dbSDimitry Andric #include "llvm/CodeGen/CommandFlags.h"
110b57cec5SDimitry Andric #include "llvm/Target/TargetOptions.h"
1206c3fb27SDimitry Andric #include "llvm/TargetParser/Triple.h"
13bdd1243dSDimitry Andric #include <optional>
140b57cec5SDimitry Andric 
initTargetOptionsFromCodeGenFlags()150b57cec5SDimitry Andric llvm::TargetOptions lld::initTargetOptionsFromCodeGenFlags() {
16e8d8bef9SDimitry Andric   return llvm::codegen::InitTargetOptionsFromCodeGenFlags(llvm::Triple());
170b57cec5SDimitry Andric }
180b57cec5SDimitry Andric 
getRelocModelFromCMModel()19bdd1243dSDimitry Andric std::optional<llvm::Reloc::Model> lld::getRelocModelFromCMModel() {
205ffd83dbSDimitry Andric   return llvm::codegen::getExplicitRelocModel();
2185868e8aSDimitry Andric }
2285868e8aSDimitry Andric 
getCodeModelFromCMModel()23bdd1243dSDimitry Andric std::optional<llvm::CodeModel::Model> lld::getCodeModelFromCMModel() {
245ffd83dbSDimitry Andric   return llvm::codegen::getExplicitCodeModel();
250b57cec5SDimitry Andric }
260b57cec5SDimitry Andric 
getCPUStr()275ffd83dbSDimitry Andric std::string lld::getCPUStr() { return llvm::codegen::getCPUStr(); }
280b57cec5SDimitry Andric 
getMAttrs()295ffd83dbSDimitry Andric std::vector<std::string> lld::getMAttrs() { return llvm::codegen::getMAttrs(); }
30