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 llvm::opt::Arg *
A =
nullptr;
44 const llvm::opt::ArgList &Args,
45 llvm::opt::ArgStringList &CmdArgs,
const JobAction &JA);
47const char *
getLDMOption(
const llvm::Triple &
T,
const llvm::opt::ArgList &Args);
50 const llvm::opt::ArgList &Args,
51 llvm::opt::ArgStringList &CmdArgs);
54 llvm::opt::ArgStringList &CmdArgs,
63 const llvm::opt::ArgList &Args,
64 llvm::opt::ArgStringList &CmdArgs);
67 llvm::opt::ArgStringList &CmdArgs);
70 llvm::opt::ArgStringList &CmdArgs);
73 llvm::opt::ArgStringList &CmdArgs,
74 const llvm::opt::ArgList &Args);
80 const JobAction &JA,
const llvm::opt::ArgList &Args,
81 const InputInfo &Output,
const char *OutFile);
84 llvm::opt::ArgStringList &CmdArgs);
87 llvm::opt::ArgStringList &CmdArgs,
const InputInfo &Output,
92std::tuple<llvm::Reloc::Model, unsigned, bool>
98 const llvm::opt::ArgList &Args);
101 llvm::codegenoptions::DebugInfoKind DebugInfoKind);
103llvm::codegenoptions::DebugInfoKind
118 const llvm::opt::ArgList &Args,
119 llvm::opt::Arg *&Arg);
122 const llvm::opt::ArgList &Args,
const Driver &D,
126 const llvm::opt::ArgList &Args,
127 llvm::opt::ArgStringList &CmdArgs);
130 const llvm::opt::ArgList &Args,
131 llvm::opt::ArgStringList &CmdArgs);
134 llvm::opt::ArgStringList &CmdArgs);
136 const llvm::opt::ArgList &Args,
137 llvm::opt::ArgStringList &CmdArgs);
140 llvm::opt::ArgStringList &CmdArgs,
142 const llvm::opt::ArgList &Args);
146 const ToolChain &TC,
const llvm::opt::ArgList &Args,
147 bool ForceStaticHostRuntime =
false,
148 bool IsOffloadingHost =
false,
bool GompNeedsRT =
false);
152 const llvm::opt::ArgList &Args,
153 llvm::opt::ArgStringList &CmdArgs);
156 llvm::opt::ArgStringList &CmdArgs,
bool as_needed);
173 const llvm::opt::ArgList &Args,
174 llvm::opt::ArgStringList &CmdArgs);
185 llvm::opt::ArgStringList &CmdArgs,
const char *ArgName,
189 std::vector<StringRef> &Features,
190 llvm::opt::OptSpecifier OnOpt,
191 llvm::opt::OptSpecifier OffOpt, StringRef FeatureName);
194 const llvm::Triple &
T,
bool FromAs =
false);
197 const llvm::opt::ArgList &Args,
198 llvm::opt::ArgStringList &CmdArgs,
bool ForAS,
208 const llvm::opt::ArgList &Args,
209 std::vector<StringRef> &Features,
210 llvm::opt::OptSpecifier Group);
226 llvm::opt::ArgStringList &CmdArgs,
bool IsLTO,
227 const StringRef PluginOptPrefix =
"");
230 const llvm::opt::ArgList &Args);
233 const llvm::opt::ArgList &Args);
236 const llvm::opt::ArgList &Args);
239 llvm::opt::ArgStringList &CmdArgs,
240 const llvm::Triple &Triple,
bool IsLTO,
241 const StringRef PluginOptPrefix =
"");
244 const llvm::opt::ArgList &Args,
245 llvm::opt::ArgStringList &CmdArgs,
246 const llvm::Triple &Triple);
249 llvm::opt::ArgStringList &CC1Args,
250 StringRef BitcodeSuffix,
const llvm::Triple &Triple,
258 const llvm::opt::ArgList &DriverArgs,
259 llvm::opt::ArgStringList &CC1Args);
262 const llvm::opt::ArgList &Args,
263 llvm::opt::ArgStringList &CmdArgs,
264 const llvm::Triple &Triple);
266 llvm::opt::ArgStringList &CmdArgs,
267 bool EmitCompressionFormat =
false);
269 const llvm::Triple &Triple,
270 const llvm::Reloc::Model &RelocationModel,
271 llvm::opt::ArgStringList &CmdArgs);
275 llvm::opt::ArgStringList &CmdArgs);
289 const llvm::opt::ArgList &Args);
298 const llvm::opt::ArgList &Args,
299 bool &FRecordCommandLine,
bool &GRecordCommandLine,
300 bool &DXRecordCommandLine);
303 llvm::opt::ArgStringList &CmdArgs,
304 const llvm::Triple &Triple);
307 llvm::opt::ArgStringList &CmdArgs,
315 llvm::opt::ArgStringList &CmdArgs);
319 llvm::opt::ArgStringList &CmdArgs);
323 llvm::opt::ArgStringList &CmdArgs);
342 const llvm::opt::ArgStringList &LinkerInputs,
344 const llvm::opt::ArgList &Args,
345 const char *OutputFilename =
nullptr);
clang::CodeGenOptions::FramePointerKind getFramePointerKind(const llvm::opt::ArgList &Args, const llvm::Triple &Triple)
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
SmallVector< InputInfo, 4 > InputInfoList
Top level wrappers for InstallAPI frontend operations.
const FunctionProtoType * T