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 Andricllvm::TargetOptions lld::initTargetOptionsFromCodeGenFlags() { 16e8d8bef9SDimitry Andric return llvm::codegen::InitTargetOptionsFromCodeGenFlags(llvm::Triple()); 170b57cec5SDimitry Andric } 180b57cec5SDimitry Andric getRelocModelFromCMModel()19bdd1243dSDimitry Andricstd::optional<llvm::Reloc::Model> lld::getRelocModelFromCMModel() { 205ffd83dbSDimitry Andric return llvm::codegen::getExplicitRelocModel(); 2185868e8aSDimitry Andric } 2285868e8aSDimitry Andric getCodeModelFromCMModel()23bdd1243dSDimitry Andricstd::optional<llvm::CodeModel::Model> lld::getCodeModelFromCMModel() { 245ffd83dbSDimitry Andric return llvm::codegen::getExplicitCodeModel(); 250b57cec5SDimitry Andric } 260b57cec5SDimitry Andric getCPUStr()275ffd83dbSDimitry Andricstd::string lld::getCPUStr() { return llvm::codegen::getCPUStr(); } 280b57cec5SDimitry Andric getMAttrs()295ffd83dbSDimitry Andricstd::vector<std::string> lld::getMAttrs() { return llvm::codegen::getMAttrs(); } 30