9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_COMMONARGS_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_COMMONARGS_H
18#include "llvm/ADT/StringRef.h"
19#include "llvm/Option/Arg.h"
20#include "llvm/Option/ArgList.h"
21#include "llvm/Support/CodeGen.h"
31 const llvm::opt::ArgList &Args,
32 llvm::opt::ArgStringList &CmdArgs,
const JobAction &JA);
34const char *
getLDMOption(
const llvm::Triple &
T,
const llvm::opt::ArgList &Args);
37 const llvm::opt::ArgList &Args,
38 llvm::opt::ArgStringList &CmdArgs);
43 llvm::opt::ArgStringList &CmdArgs);
46 const llvm::opt::ArgList &Args,
47 llvm::opt::ArgStringList &CmdArgs);
50 llvm::opt::ArgStringList &CmdArgs);
53 llvm::opt::ArgStringList &CmdArgs);
56 llvm::opt::ArgStringList &CmdArgs,
57 const llvm::opt::ArgList &Args);
62 const llvm::opt::ArgList &DriverArgs,
63 llvm::opt::ArgStringList &CmdArgs,
68 const llvm::opt::ArgList &DriverArgs,
69 llvm::opt::ArgStringList &CmdArgs, StringRef
Arch,
70 StringRef
Target,
bool isBitCodeSDL);
76 const JobAction &JA,
const llvm::opt::ArgList &Args,
77 const InputInfo &Output,
const char *OutFile);
80 llvm::opt::ArgStringList &CmdArgs,
const InputInfo &Output,
85std::tuple<llvm::Reloc::Model, unsigned, bool>
91 const llvm::opt::ArgList &Args);
94 llvm::codegenoptions::DebugInfoKind DebugInfoKind);
96llvm::codegenoptions::DebugInfoKind
109 const llvm::opt::ArgList &Args,
110 llvm::opt::ArgStringList &CmdArgs);
113 llvm::opt::ArgStringList &CmdArgs);
115 const llvm::opt::ArgList &Args,
116 llvm::opt::ArgStringList &CmdArgs);
119 const ToolChain &TC,
const llvm::opt::ArgList &Args,
120 bool ForceStaticHostRuntime =
false,
121 bool IsOffloadingHost =
false,
bool GompNeedsRT =
false);
125 const llvm::opt::ArgList &Args,
126 llvm::opt::ArgStringList &CmdArgs);
129 const llvm::opt::ArgList &Args,
130 llvm::opt::ArgStringList &CmdArgs);
133 llvm::opt::ArgStringList &CmdArgs,
bool as_needed);
157 llvm::opt::ArgStringList &CmdArgs,
const char *ArgName,
161 std::vector<StringRef> &Features,
162 llvm::opt::OptSpecifier OnOpt,
163 llvm::opt::OptSpecifier OffOpt, StringRef FeatureName);
166 const llvm::Triple &
T,
bool FromAs =
false);
169 const llvm::opt::ArgList &Args,
170 llvm::opt::ArgStringList &CmdArgs,
bool ForAS,
180 const llvm::opt::ArgList &Args,
181 std::vector<StringRef> &Features,
182 llvm::opt::OptSpecifier Group);
198 llvm::opt::ArgStringList &CmdArgs,
bool IsLTO,
199 const StringRef PluginOptPrefix =
"");
202 const llvm::opt::ArgList &Args);
205 const llvm::opt::ArgList &Args);
208 const llvm::opt::ArgList &Args);
211 llvm::opt::ArgStringList &CmdArgs,
212 const llvm::Triple &Triple,
bool IsLTO,
213 const StringRef PluginOptPrefix =
"");
216 llvm::opt::ArgStringList &CC1Args,
217 StringRef BitcodeSuffix,
const llvm::Triple &Triple,
221 llvm::opt::ArgStringList &CC1Args);
224 const llvm::opt::ArgList &Args,
225 llvm::opt::ArgStringList &CmdArgs,
226 const llvm::Triple &Triple);
228 llvm::opt::ArgStringList &CmdArgs);
230 const llvm::Triple &Triple,
231 const llvm::Reloc::Model &RelocationModel,
232 llvm::opt::ArgStringList &CmdArgs);
236 llvm::opt::ArgStringList &CmdArgs);
250 const llvm::opt::ArgList &Args);
259 const llvm::opt::ArgList &Args,
260 bool &FRecordCommandLine,
261 bool &GRecordCommandLine);
264 llvm::opt::ArgStringList &CmdArgs);
271 llvm::opt::ArgStringList &CmdArgs);
275 llvm::opt::ArgStringList &CmdArgs);
279 llvm::opt::ArgStringList &CmdArgs);
284 const llvm::opt::ArgList &Args);
289 const llvm::opt::ArgList &Args);
clang::CodeGenOptions::FramePointerKind getFramePointerKind(const llvm::opt::ArgList &Args, const llvm::Triple &Triple)
llvm::MachO::Target Target
Concrete class used by the front-end to report problems and issues.
ComplexRangeKind
Controls the various implementations for complex multiplication and.
Compilation - A set of tasks to perform for a single driver invocation.
Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like comma...
std::vector< std::string > flags_list
The JSON file list parser is used to communicate input to InstallAPI.
const FunctionProtoType * T