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);
83 llvm::opt::ArgStringList &CmdArgs,
const InputInfo &Output,
88std::tuple<llvm::Reloc::Model, unsigned, bool>
94 const llvm::opt::ArgList &Args);
97 llvm::codegenoptions::DebugInfoKind DebugInfoKind);
99llvm::codegenoptions::DebugInfoKind
114 const llvm::opt::ArgList &Args,
115 llvm::opt::Arg *&Arg);
118 const llvm::opt::ArgList &Args,
const Driver &D,
122 const llvm::opt::ArgList &Args,
123 llvm::opt::ArgStringList &CmdArgs);
126 llvm::opt::ArgStringList &CmdArgs);
128 const llvm::opt::ArgList &Args,
129 llvm::opt::ArgStringList &CmdArgs);
132 const ToolChain &TC,
const llvm::opt::ArgList &Args,
133 bool ForceStaticHostRuntime =
false,
134 bool IsOffloadingHost =
false,
bool GompNeedsRT =
false);
138 const llvm::opt::ArgList &Args,
139 llvm::opt::ArgStringList &CmdArgs);
142 const llvm::opt::ArgList &Args,
143 llvm::opt::ArgStringList &CmdArgs);
146 llvm::opt::ArgStringList &CmdArgs,
bool as_needed);
170 llvm::opt::ArgStringList &CmdArgs,
const char *ArgName,
174 std::vector<StringRef> &Features,
175 llvm::opt::OptSpecifier OnOpt,
176 llvm::opt::OptSpecifier OffOpt, StringRef FeatureName);
179 const llvm::Triple &
T,
bool FromAs =
false);
182 const llvm::opt::ArgList &Args,
183 llvm::opt::ArgStringList &CmdArgs,
bool ForAS,
193 const llvm::opt::ArgList &Args,
194 std::vector<StringRef> &Features,
195 llvm::opt::OptSpecifier Group);
211 llvm::opt::ArgStringList &CmdArgs,
bool IsLTO,
212 const StringRef PluginOptPrefix =
"");
215 const llvm::opt::ArgList &Args);
218 const llvm::opt::ArgList &Args);
221 const llvm::opt::ArgList &Args);
224 llvm::opt::ArgStringList &CmdArgs,
225 const llvm::Triple &Triple,
bool IsLTO,
226 const StringRef PluginOptPrefix =
"");
229 llvm::opt::ArgStringList &CC1Args,
230 StringRef BitcodeSuffix,
const llvm::Triple &Triple,
234 llvm::opt::ArgStringList &CC1Args);
237 const llvm::opt::ArgList &Args,
238 llvm::opt::ArgStringList &CmdArgs,
239 const llvm::Triple &Triple);
241 llvm::opt::ArgStringList &CmdArgs);
243 const llvm::Triple &Triple,
244 const llvm::Reloc::Model &RelocationModel,
245 llvm::opt::ArgStringList &CmdArgs);
249 llvm::opt::ArgStringList &CmdArgs);
263 const llvm::opt::ArgList &Args);
272 const llvm::opt::ArgList &Args,
273 bool &FRecordCommandLine,
274 bool &GRecordCommandLine);
277 llvm::opt::ArgStringList &CmdArgs);
284 llvm::opt::ArgStringList &CmdArgs);
288 llvm::opt::ArgStringList &CmdArgs);
292 llvm::opt::ArgStringList &CmdArgs);
297 const llvm::opt::ArgList &Args);
302 const llvm::opt::ArgList &Args);
clang::CodeGenOptions::FramePointerKind getFramePointerKind(const llvm::opt::ArgList &Args, const llvm::Triple &Triple)
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
SmallVector< InputInfo, 4 > InputInfoList
The JSON file list parser is used to communicate input to InstallAPI.
const FunctionProtoType * T