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