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
111 const llvm::opt::ArgList &Args,
112 llvm::opt::Arg *&Arg);
115 const llvm::opt::ArgList &Args,
const Driver &D,
119 const llvm::opt::ArgList &Args,
120 llvm::opt::ArgStringList &CmdArgs);
123 llvm::opt::ArgStringList &CmdArgs);
125 const llvm::opt::ArgList &Args,
126 llvm::opt::ArgStringList &CmdArgs);
129 const ToolChain &TC,
const llvm::opt::ArgList &Args,
130 bool ForceStaticHostRuntime =
false,
131 bool IsOffloadingHost =
false,
bool GompNeedsRT =
false);
135 const llvm::opt::ArgList &Args,
136 llvm::opt::ArgStringList &CmdArgs);
139 const llvm::opt::ArgList &Args,
140 llvm::opt::ArgStringList &CmdArgs);
143 llvm::opt::ArgStringList &CmdArgs,
bool as_needed);
167 llvm::opt::ArgStringList &CmdArgs,
const char *ArgName,
171 std::vector<StringRef> &Features,
172 llvm::opt::OptSpecifier OnOpt,
173 llvm::opt::OptSpecifier OffOpt, StringRef FeatureName);
176 const llvm::Triple &
T,
bool FromAs =
false);
179 const llvm::opt::ArgList &Args,
180 llvm::opt::ArgStringList &CmdArgs,
bool ForAS,
190 const llvm::opt::ArgList &Args,
191 std::vector<StringRef> &Features,
192 llvm::opt::OptSpecifier Group);
208 llvm::opt::ArgStringList &CmdArgs,
bool IsLTO,
209 const StringRef PluginOptPrefix =
"");
212 const llvm::opt::ArgList &Args);
215 const llvm::opt::ArgList &Args);
218 const llvm::opt::ArgList &Args);
221 llvm::opt::ArgStringList &CmdArgs,
222 const llvm::Triple &Triple,
bool IsLTO,
223 const StringRef PluginOptPrefix =
"");
226 llvm::opt::ArgStringList &CC1Args,
227 StringRef BitcodeSuffix,
const llvm::Triple &Triple,
231 llvm::opt::ArgStringList &CC1Args);
234 const llvm::opt::ArgList &Args,
235 llvm::opt::ArgStringList &CmdArgs,
236 const llvm::Triple &Triple);
238 llvm::opt::ArgStringList &CmdArgs);
240 const llvm::Triple &Triple,
241 const llvm::Reloc::Model &RelocationModel,
242 llvm::opt::ArgStringList &CmdArgs);
246 llvm::opt::ArgStringList &CmdArgs);
260 const llvm::opt::ArgList &Args);
269 const llvm::opt::ArgList &Args,
270 bool &FRecordCommandLine,
271 bool &GRecordCommandLine);
274 llvm::opt::ArgStringList &CmdArgs);
281 llvm::opt::ArgStringList &CmdArgs);
285 llvm::opt::ArgStringList &CmdArgs);
289 llvm::opt::ArgStringList &CmdArgs);
294 const llvm::opt::ArgList &Args);
299 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