Lines Matching defs:Args

59 static llvm::opt::Arg *GetRTTIArgument(const ArgList &Args) {
60 return Args.getLastArg(options::OPT_mkernel, options::OPT_fapple_kext,
64 static ToolChain::RTTIMode CalculateRTTIMode(const ArgList &Args,
80 static ToolChain::ExceptionsMode CalculateExceptionsMode(const ArgList &Args) {
81 if (Args.hasFlag(options::OPT_fexceptions, options::OPT_fno_exceptions,
89 const ArgList &Args)
90 : D(D), Triple(T), Args(Args), CachedRTTIArg(GetRTTIArgument(Args)),
91 CachedRTTIMode(CalculateRTTIMode(Args, Triple, CachedRTTIArg)),
92 CachedExceptionsMode(CalculateExceptionsMode(Args)) {
146 return Args.hasFlag(options::OPT_fintegrated_as,
157 bool IBackend = Args.hasFlag(options::OPT_fintegrated_objemitter,
169 Arg *A = Args.getLastArg(options::OPT_fno_integrated_objemitter);
171 D.Diag(DiagID) << A->getAsString(Args) << Triple.getTriple();
172 A = Args.getLastArg(options::OPT_fintegrated_objemitter);
174 D.Diag(DiagID) << A->getAsString(Args) << Triple.getTriple();
189 const llvm::opt::ArgList &Args,
192 tools::aarch64::getAArch64TargetFeatures(D, Triple, Args, Features, false);
216 const llvm::opt::ArgList &Args,
220 D, Triple, Args, Features, false /*ForAs*/, true /*ForMultilib*/);
246 switch (arm::getARMFloatABI(D, Triple, Args)) {
262 ToolChain::getMultilibFlags(const llvm::opt::ArgList &Args) const {
266 const llvm::Triple Triple(ComputeEffectiveClangTriple(Args));
273 getAArch64MultilibFlags(D, Triple, Args, Result);
279 getARMMultilibFlags(D, Triple, Args, Result);
312 XRayArguments.reset(new XRayArgs(*this, Args));
456 ToolChain::getDefaultUnwindTableLevel(const ArgList &Args) const {
579 const ArgList &Args) {
587 return (arm::getARMFloatABI(TC, Args) == arm::FloatABI::Hard && !IsWindows)
636 std::string ToolChain::getCompilerRTBasename(const ArgList &Args,
639 std::string CRTAbsolutePath = getCompilerRT(Args, Component, Type);
643 std::string ToolChain::buildCompilerRTBasename(const llvm::opt::ArgList &Args,
670 StringRef Arch = getArchNameForCompilerRTLib(*this, Args);
677 std::string ToolChain::getCompilerRT(const ArgList &Args, StringRef Component,
681 buildCompilerRTBasename(Args, Component, Type, /*AddArch=*/false);
696 buildCompilerRTBasename(Args, Component, Type, /*AddArch=*/true);
708 const char *ToolChain::getCompilerRTArgString(const llvm::opt::ArgList &Args,
711 return Args.MakeArgString(getCompilerRT(Args, Component, Type));
840 bool ToolChain::needsProfileRT(const ArgList &Args) {
841 if (Args.hasArg(options::OPT_noprofilelib))
844 return Args.hasArg(options::OPT_fprofile_generate) ||
845 Args.hasArg(options::OPT_fprofile_generate_EQ) ||
846 Args.hasArg(options::OPT_fcs_profile_generate) ||
847 Args.hasArg(options::OPT_fcs_profile_generate_EQ) ||
848 Args.hasArg(options::OPT_fprofile_instr_generate) ||
849 Args.hasArg(options::OPT_fprofile_instr_generate_EQ) ||
850 Args.hasArg(options::OPT_fcreate_profile) ||
851 Args.hasArg(options::OPT_forder_file_instrumentation);
854 bool ToolChain::needsGCovInstrumentation(const llvm::opt::ArgList &Args) {
855 return Args.hasArg(options::OPT_coverage) ||
856 Args.hasFlag(options::OPT_fprofile_arcs, options::OPT_fno_profile_arcs,
884 const Arg* A = Args.getLastArg(options::OPT_fuse_ld_EQ);
892 if (const Arg *A = Args.getLastArg(options::OPT_ld_path_EQ)) {
903 getDriver().Diag(diag::err_drv_invalid_linker_name) << A->getAsString(Args);
945 getDriver().Diag(diag::err_drv_invalid_linker_name) << A->getAsString(Args);
995 ToolChain::GetExceptionModel(const llvm::opt::ArgList &Args) const {
1012 std::string ToolChain::ComputeLLVMTriple(const ArgList &Args,
1023 if (Arg *A = Args.getLastArg(options::OPT_march_EQ)) {
1034 tools::aarch64::setPAuthABIInTriple(getDriver(), Args, Triple);
1054 tools::arm::setArchNameInTriple(getDriver(), Args, InputType, Triple);
1055 tools::arm::setFloatABIInTriple(getDriver(), Args, Triple);
1061 std::string ToolChain::ComputeEffectiveClangTriple(const ArgList &Args,
1063 return ComputeLLVMTriple(Args, InputType);
1079 void ToolChain::addClangCC1ASTargetOptions(const ArgList &Args,
1084 void ToolChain::addProfileRTLibs(const llvm::opt::ArgList &Args,
1086 if (!needsProfileRT(Args) && !needsGCovInstrumentation(Args))
1089 CmdArgs.push_back(getCompilerRTArgString(Args, "profile"));
1093 const ArgList &Args) const {
1097 const Arg* A = Args.getLastArg(options::OPT_rtlib_EQ);
1110 << A->getAsString(Args);
1119 const ArgList &Args) const {
1123 const Arg *A = Args.getLastArg(options::OPT_unwindlib_EQ);
1129 ToolChain::RuntimeLibType RtLibType = GetRuntimeLibType(Args);
1138 if (GetRuntimeLibType(Args) == RLT_Libgcc)
1146 << A->getAsString(Args);
1154 ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
1158 const Arg *A = Args.getLastArg(options::OPT_stdlib_EQ);
1171 << A->getAsString(Args);
1282 bool ToolChain::ShouldLinkCXXStdlib(const llvm::opt::ArgList &Args) const {
1284 !Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs,
1288 void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
1290 assert(!Args.hasArg(options::OPT_nostdlibxx) &&
1292 CXXStdlibType Type = GetCXXStdlibType(Args);
1297 if (Args.hasArg(options::OPT_fexperimental_library))
1307 void ToolChain::AddFilePathLibArgs(const ArgList &Args,
1311 CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + LibPath));
1314 void ToolChain::AddCCKextLibArgs(const ArgList &Args,
1319 bool ToolChain::isFastMathRuntimeAvailable(const ArgList &Args,
1324 bool Default = !Args.hasArgNoClaim(options::OPT_shared);
1328 if (Default && !isOptimizationLevelFast(Args)) {
1330 Arg *A = Args.getLastArg(
1347 if (!Args.hasFlag(options::OPT_mdaz_ftz, options::OPT_mno_daz_ftz, Default))
1355 bool ToolChain::addFastMathRuntimeIfAvailable(const ArgList &Args,
1358 if (isFastMathRuntimeAvailable(Args, Path)) {
1359 CmdArgs.push_back(Args.MakeArgString(Path));
1367 ToolChain::getSystemGPUArchs(const llvm::opt::ArgList &Args) const {
1425 const llvm::opt::ArgList &Args) const {
1426 const Arg *MSCVersion = Args.getLastArg(options::OPT_fmsc_version);
1428 Args.getLastArg(options::OPT_fms_compatibility_version);
1433 << MSCVersion->getAsString(Args)
1434 << MSCompatibilityVersion->getAsString(Args);
1443 << MSCompatibilityVersion->getAsString(Args)
1455 << MSCVersion->getAsString(Args) << MSCVersion->getValue();
1465 const llvm::opt::DerivedArgList &Args, bool SameTripleAsHost,
1467 DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs());
1472 for (auto *A : Args) {
1498 Index = Args.getBaseArgs().MakeIndex(A->getValue(1));
1503 Index = Args.getBaseArgs().MakeIndex(A->getValue(0));
1511 std::unique_ptr<Arg> XOpenMPTargetArg(Opts.ParseOneArg(Args, Index));
1514 << A->getAsString(Args);
1518 Args.getAllArgValues(options::OPT_fopenmp_targets_EQ).size() != 1) {
1540 const llvm::opt::DerivedArgList &Args, llvm::opt::Arg *&A,
1549 unsigned Index = Args.getBaseArgs().MakeIndex(A->getValue(ValuePos));
1551 std::unique_ptr<llvm::opt::Arg> XarchArg(Opts.ParseOneArg(Args, Index));
1562 << A->getAsString(Args);
1570 Diags.Report(DiagID) << A->getAsString(Args);
1582 const llvm::opt::DerivedArgList &Args, StringRef BoundArch,
1585 DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs());
1589 for (Arg *A : Args) {
1610 TranslateXarchArgs(Args, A, DAL, AllocatedArgs);