1d2d3ebb8SDimitry Andric //===-- TargetOptionsCommandFlags.cpp ---------------------------*- C++ -*-===// 2d2d3ebb8SDimitry Andric // 3f1e1c239SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4f1e1c239SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5f1e1c239SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6d2d3ebb8SDimitry Andric // 7d2d3ebb8SDimitry Andric //===----------------------------------------------------------------------===// 8d2d3ebb8SDimitry Andric 9eb1ff93dSDimitry Andric #include "lld/Common/TargetOptionsCommandFlags.h" 10cfca06d7SDimitry Andric #include "llvm/CodeGen/CommandFlags.h" 11d2d3ebb8SDimitry Andric #include "llvm/Target/TargetOptions.h" 127fa27ce4SDimitry Andric #include "llvm/TargetParser/Triple.h" 13e3b55780SDimitry Andric #include <optional> 14d2d3ebb8SDimitry Andric initTargetOptionsFromCodeGenFlags()15f1e1c239SDimitry Andricllvm::TargetOptions lld::initTargetOptionsFromCodeGenFlags() { 16b60736ecSDimitry Andric return llvm::codegen::InitTargetOptionsFromCodeGenFlags(llvm::Triple()); 17d2d3ebb8SDimitry Andric } 18d2d3ebb8SDimitry Andric getRelocModelFromCMModel()19e3b55780SDimitry Andricstd::optional<llvm::Reloc::Model> lld::getRelocModelFromCMModel() { 20cfca06d7SDimitry Andric return llvm::codegen::getExplicitRelocModel(); 21d2bd9e70SDimitry Andric } 22d2bd9e70SDimitry Andric getCodeModelFromCMModel()23e3b55780SDimitry Andricstd::optional<llvm::CodeModel::Model> lld::getCodeModelFromCMModel() { 24cfca06d7SDimitry Andric return llvm::codegen::getExplicitCodeModel(); 25d2d3ebb8SDimitry Andric } 2620d35e67SDimitry Andric getCPUStr()27cfca06d7SDimitry Andricstd::string lld::getCPUStr() { return llvm::codegen::getCPUStr(); } 28f1e1c239SDimitry Andric getMAttrs()29cfca06d7SDimitry Andricstd::vector<std::string> lld::getMAttrs() { return llvm::codegen::getMAttrs(); } 30