1 //===-- TargetOptionsCommandFlags.cpp ---------------------------*- C++ -*-===// 2 // 3 // The LLVM Linker 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file exists as a place for global variables defined in LLVM's 11 // CodeGen/CommandFlags.inc. By putting the resulting object file in 12 // an archive and linking with it, the definitions will automatically be 13 // included when needed and skipped when already present. 14 // 15 //===----------------------------------------------------------------------===// 16 17 #include "lld/Common/TargetOptionsCommandFlags.h" 18 19 #include "llvm/CodeGen/CommandFlags.inc" 20 #include "llvm/Target/TargetOptions.h" 21 22 // Define an externally visible version of 23 // InitTargetOptionsFromCodeGenFlags, so that its functionality can be 24 // used without having to include llvm/CodeGen/CommandFlags.inc, which 25 // would lead to multiple definitions of the command line flags. 26 llvm::TargetOptions lld::InitTargetOptionsFromCodeGenFlags() { 27 return ::InitTargetOptionsFromCodeGenFlags(); 28 } 29 30 llvm::Optional<llvm::CodeModel::Model> lld::GetCodeModelFromCMModel() { 31 return getCodeModel(); 32 } 33 34 std::string lld::GetCPUStr() { return ::getCPUStr(); } 35 std::vector<std::string> lld::GetMAttrs() { return ::MAttrs; } 36