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