xref: /llvm-project/lld/Common/TargetOptionsCommandFlags.cpp (revision 62c7f035b4392c1933550eead6ddab35122720bc)
13f851704SRui Ueyama //===-- TargetOptionsCommandFlags.cpp ---------------------------*- C++ -*-===//
23f851704SRui Ueyama //
32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
63f851704SRui Ueyama //
73f851704SRui Ueyama //===----------------------------------------------------------------------===//
83f851704SRui Ueyama 
93f851704SRui Ueyama #include "lld/Common/TargetOptionsCommandFlags.h"
10ac1d23edSserge-sans-paille #include "llvm/CodeGen/CommandFlags.h"
113f851704SRui Ueyama #include "llvm/Target/TargetOptions.h"
12*62c7f035SArchibald Elliott #include "llvm/TargetParser/Triple.h"
138c7c20f0SKrzysztof Parzyszek #include <optional>
143f851704SRui Ueyama 
initTargetOptionsFromCodeGenFlags()15dfbd1903SSam Clegg llvm::TargetOptions lld::initTargetOptionsFromCodeGenFlags() {
16f85bcc21Sjasonliu   return llvm::codegen::InitTargetOptionsFromCodeGenFlags(llvm::Triple());
173f851704SRui Ueyama }
183f851704SRui Ueyama 
getRelocModelFromCMModel()19bac97427SFangrui Song std::optional<llvm::Reloc::Model> lld::getRelocModelFromCMModel() {
20ac1d23edSserge-sans-paille   return llvm::codegen::getExplicitRelocModel();
21ae4c30a4SPetr Hosek }
22ae4c30a4SPetr Hosek 
getCodeModelFromCMModel()238c7c20f0SKrzysztof Parzyszek std::optional<llvm::CodeModel::Model> lld::getCodeModelFromCMModel() {
24ac1d23edSserge-sans-paille   return llvm::codegen::getExplicitCodeModel();
253f851704SRui Ueyama }
263a730d85SRafael Espindola 
getCPUStr()27ac1d23edSserge-sans-paille std::string lld::getCPUStr() { return llvm::codegen::getCPUStr(); }
28dfbd1903SSam Clegg 
getMAttrs()29ac1d23edSserge-sans-paille std::vector<std::string> lld::getMAttrs() { return llvm::codegen::getMAttrs(); }
30