Lines Matching refs:Args
95 const ArgList &Args, in ConstructJob() argument
116 if (Args.hasArg(options::OPT_fno_integrated_as)) { in ConstructJob()
124 if (Args.hasArg(options::OPT_gstabs)) in ConstructJob()
126 else if (Args.hasArg(options::OPT_g_Group)) in ConstructJob()
131 AddMachOArch(Args, CmdArgs); in ConstructJob()
134 if (T.isX86() || Args.hasArg(options::OPT_force__cpusubtype__ALL)) in ConstructJob()
138 (((Args.hasArg(options::OPT_mkernel) || in ConstructJob()
139 Args.hasArg(options::OPT_fapple_kext)) && in ConstructJob()
141 Args.hasArg(options::OPT_static))) in ConstructJob()
144 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler); in ConstructJob()
155 const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("as")); in ConstructJob()
162 void darwin::MachOTool::AddMachOArch(const ArgList &Args, in AddMachOArch() argument
164 StringRef ArchName = getMachOToolChain().getMachOArchName(Args); in AddMachOArch()
168 CmdArgs.push_back(Args.MakeArgString(ArchName)); in AddMachOArch()
193 static bool shouldLinkerNotDedup(bool IsLinkerOnlyAction, const ArgList &Args) { in shouldLinkerNotDedup() argument
194 if (Arg *A = Args.getLastArg(options::OPT_O_Group)) { in shouldLinkerNotDedup()
209 void darwin::Linker::AddLinkArgs(Compilation &C, const ArgList &Args, in AddLinkArgs() argument
219 !Args.hasArg(options::OPT_Z_Xlinker__no_demangle)) in AddLinkArgs()
222 if (Args.hasArg(options::OPT_rdynamic) && in AddLinkArgs()
228 if (Args.hasFlag(options::OPT_fapplication_extension, in AddLinkArgs()
276 shouldLinkerNotDedup(C.getJobs().empty(), Args)) in AddLinkArgs()
280 Args.AddAllArgs(CmdArgs, options::OPT_static); in AddLinkArgs()
281 if (!Args.hasArg(options::OPT_static)) in AddLinkArgs()
283 if (Args.hasArg(options::OPT_fgnu_runtime)) { in AddLinkArgs()
288 if (!Args.hasArg(options::OPT_dynamiclib)) { in AddLinkArgs()
289 AddMachOArch(Args, CmdArgs); in AddLinkArgs()
291 Args.AddLastArg(CmdArgs, options::OPT_force__cpusubtype__ALL); in AddLinkArgs()
293 Args.AddLastArg(CmdArgs, options::OPT_bundle); in AddLinkArgs()
294 Args.AddAllArgs(CmdArgs, options::OPT_bundle__loader); in AddLinkArgs()
295 Args.AddAllArgs(CmdArgs, options::OPT_client__name); in AddLinkArgs()
298 if ((A = Args.getLastArg(options::OPT_compatibility__version)) || in AddLinkArgs()
299 (A = Args.getLastArg(options::OPT_current__version)) || in AddLinkArgs()
300 (A = Args.getLastArg(options::OPT_install__name))) in AddLinkArgs()
301 D.Diag(diag::err_drv_argument_only_allowed_with) << A->getAsString(Args) in AddLinkArgs()
304 Args.AddLastArg(CmdArgs, options::OPT_force__flat__namespace); in AddLinkArgs()
305 Args.AddLastArg(CmdArgs, options::OPT_keep__private__externs); in AddLinkArgs()
306 Args.AddLastArg(CmdArgs, options::OPT_private__bundle); in AddLinkArgs()
311 if ((A = Args.getLastArg(options::OPT_bundle)) || in AddLinkArgs()
312 (A = Args.getLastArg(options::OPT_bundle__loader)) || in AddLinkArgs()
313 (A = Args.getLastArg(options::OPT_client__name)) || in AddLinkArgs()
314 (A = Args.getLastArg(options::OPT_force__flat__namespace)) || in AddLinkArgs()
315 (A = Args.getLastArg(options::OPT_keep__private__externs)) || in AddLinkArgs()
316 (A = Args.getLastArg(options::OPT_private__bundle))) in AddLinkArgs()
317 D.Diag(diag::err_drv_argument_not_allowed_with) << A->getAsString(Args) in AddLinkArgs()
320 Args.AddAllArgsTranslated(CmdArgs, options::OPT_compatibility__version, in AddLinkArgs()
322 Args.AddAllArgsTranslated(CmdArgs, options::OPT_current__version, in AddLinkArgs()
325 AddMachOArch(Args, CmdArgs); in AddLinkArgs()
327 Args.AddAllArgsTranslated(CmdArgs, options::OPT_install__name, in AddLinkArgs()
331 Args.AddLastArg(CmdArgs, options::OPT_all__load); in AddLinkArgs()
332 Args.AddAllArgs(CmdArgs, options::OPT_allowable__client); in AddLinkArgs()
333 Args.AddLastArg(CmdArgs, options::OPT_bind__at__load); in AddLinkArgs()
335 Args.AddLastArg(CmdArgs, options::OPT_arch__errors__fatal); in AddLinkArgs()
336 Args.AddLastArg(CmdArgs, options::OPT_dead__strip); in AddLinkArgs()
337 Args.AddLastArg(CmdArgs, options::OPT_no__dead__strip__inits__and__terms); in AddLinkArgs()
338 Args.AddAllArgs(CmdArgs, options::OPT_dylib__file); in AddLinkArgs()
339 Args.AddLastArg(CmdArgs, options::OPT_dynamic); in AddLinkArgs()
340 Args.AddAllArgs(CmdArgs, options::OPT_exported__symbols__list); in AddLinkArgs()
341 Args.AddLastArg(CmdArgs, options::OPT_flat__namespace); in AddLinkArgs()
342 Args.AddAllArgs(CmdArgs, options::OPT_force__load); in AddLinkArgs()
343 Args.AddAllArgs(CmdArgs, options::OPT_headerpad__max__install__names); in AddLinkArgs()
344 Args.AddAllArgs(CmdArgs, options::OPT_image__base); in AddLinkArgs()
345 Args.AddAllArgs(CmdArgs, options::OPT_init); in AddLinkArgs()
349 MachOTC.addPlatformVersionArgs(Args, CmdArgs); in AddLinkArgs()
351 MachOTC.addMinVersionArgs(Args, CmdArgs); in AddLinkArgs()
353 Args.AddLastArg(CmdArgs, options::OPT_nomultidefs); in AddLinkArgs()
354 Args.AddLastArg(CmdArgs, options::OPT_multi__module); in AddLinkArgs()
355 Args.AddLastArg(CmdArgs, options::OPT_single__module); in AddLinkArgs()
356 Args.AddAllArgs(CmdArgs, options::OPT_multiply__defined); in AddLinkArgs()
357 Args.AddAllArgs(CmdArgs, options::OPT_multiply__defined__unused); in AddLinkArgs()
360 Args.getLastArg(options::OPT_fpie, options::OPT_fPIE, in AddLinkArgs()
385 if (Arg *A = Args.getLastArg(options::OPT_fglobal_isel, in AddLinkArgs()
396 Args.AddLastArg(CmdArgs, options::OPT_prebind); in AddLinkArgs()
397 Args.AddLastArg(CmdArgs, options::OPT_noprebind); in AddLinkArgs()
398 Args.AddLastArg(CmdArgs, options::OPT_nofixprebinding); in AddLinkArgs()
399 Args.AddLastArg(CmdArgs, options::OPT_prebind__all__twolevel__modules); in AddLinkArgs()
400 Args.AddLastArg(CmdArgs, options::OPT_read__only__relocs); in AddLinkArgs()
401 Args.AddAllArgs(CmdArgs, options::OPT_sectcreate); in AddLinkArgs()
402 Args.AddAllArgs(CmdArgs, options::OPT_sectorder); in AddLinkArgs()
403 Args.AddAllArgs(CmdArgs, options::OPT_seg1addr); in AddLinkArgs()
404 Args.AddAllArgs(CmdArgs, options::OPT_segprot); in AddLinkArgs()
405 Args.AddAllArgs(CmdArgs, options::OPT_segaddr); in AddLinkArgs()
406 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__only__addr); in AddLinkArgs()
407 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__write__addr); in AddLinkArgs()
408 Args.AddAllArgs(CmdArgs, options::OPT_seg__addr__table); in AddLinkArgs()
409 Args.AddAllArgs(CmdArgs, options::OPT_seg__addr__table__filename); in AddLinkArgs()
410 Args.AddAllArgs(CmdArgs, options::OPT_sub__library); in AddLinkArgs()
411 Args.AddAllArgs(CmdArgs, options::OPT_sub__umbrella); in AddLinkArgs()
419 } else if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) { in AddLinkArgs()
424 Args.AddLastArg(CmdArgs, options::OPT_twolevel__namespace); in AddLinkArgs()
425 Args.AddLastArg(CmdArgs, options::OPT_twolevel__namespace__hints); in AddLinkArgs()
426 Args.AddAllArgs(CmdArgs, options::OPT_umbrella); in AddLinkArgs()
427 Args.AddAllArgs(CmdArgs, options::OPT_undefined); in AddLinkArgs()
428 Args.AddAllArgs(CmdArgs, options::OPT_unexported__symbols__list); in AddLinkArgs()
429 Args.AddAllArgs(CmdArgs, options::OPT_weak__reference__mismatches); in AddLinkArgs()
430 Args.AddLastArg(CmdArgs, options::OPT_X_Flag); in AddLinkArgs()
431 Args.AddAllArgs(CmdArgs, options::OPT_y); in AddLinkArgs()
432 Args.AddLastArg(CmdArgs, options::OPT_w); in AddLinkArgs()
433 Args.AddAllArgs(CmdArgs, options::OPT_pagezero__size); in AddLinkArgs()
434 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__); in AddLinkArgs()
435 Args.AddLastArg(CmdArgs, options::OPT_seglinkedit); in AddLinkArgs()
436 Args.AddLastArg(CmdArgs, options::OPT_noseglinkedit); in AddLinkArgs()
437 Args.AddAllArgs(CmdArgs, options::OPT_sectalign); in AddLinkArgs()
438 Args.AddAllArgs(CmdArgs, options::OPT_sectobjectsymbols); in AddLinkArgs()
439 Args.AddAllArgs(CmdArgs, options::OPT_segcreate); in AddLinkArgs()
440 Args.AddLastArg(CmdArgs, options::OPT_why_load); in AddLinkArgs()
441 Args.AddLastArg(CmdArgs, options::OPT_whatsloaded); in AddLinkArgs()
442 Args.AddAllArgs(CmdArgs, options::OPT_dylinker__install__name); in AddLinkArgs()
443 Args.AddLastArg(CmdArgs, options::OPT_dylinker); in AddLinkArgs()
444 Args.AddLastArg(CmdArgs, options::OPT_Mach); in AddLinkArgs()
448 static bool isObjCRuntimeLinked(const ArgList &Args) { in isObjCRuntimeLinked() argument
449 if (isObjCAutoRefCount(Args)) { in isObjCRuntimeLinked()
450 Args.ClaimAllArgs(options::OPT_fobjc_link_runtime); in isObjCRuntimeLinked()
453 return Args.hasArg(options::OPT_fobjc_link_runtime); in isObjCRuntimeLinked()
456 static bool checkRemarksOptions(const Driver &D, const ArgList &Args, in checkRemarksOptions() argument
462 Args.getAllArgValues(options::OPT_arch).size() > 1; in checkRemarksOptions()
464 Args.getLastArg(options::OPT_foptimization_record_file_EQ); in checkRemarksOptions()
473 static void renderRemarksOptions(const ArgList &Args, ArgStringList &CmdArgs, in renderRemarksOptions() argument
477 if (const Arg *A = Args.getLastArg(options::OPT_fsave_optimization_record_EQ)) in renderRemarksOptions()
484 const Arg *A = Args.getLastArg(options::OPT_foptimization_record_file_EQ); in renderRemarksOptions()
494 CmdArgs.push_back(Args.MakeArgString(F)); in renderRemarksOptions()
498 Args.getLastArg(options::OPT_foptimization_record_passes_EQ)) { in renderRemarksOptions()
502 CmdArgs.push_back(Args.MakeArgString(Passes)); in renderRemarksOptions()
508 CmdArgs.push_back(Args.MakeArgString(FormatArg)); in renderRemarksOptions()
511 if (getLastProfileUseArg(Args)) { in renderRemarksOptions()
516 Args.getLastArg(options::OPT_fdiagnostics_hotness_threshold_EQ)) { in renderRemarksOptions()
520 CmdArgs.push_back(Args.MakeArgString(Opt)); in renderRemarksOptions()
528 const ArgList &Args, in ConstructJob() argument
544 if (Args.hasArg(options::OPT_ccc_arcmt_check, in ConstructJob()
546 for (const auto &Arg : Args) in ConstructJob()
549 Args.MakeArgString(getToolChain().GetProgramPath("touch")); in ConstructJob()
556 VersionTuple Version = getMachOToolChain().getLinkerVersion(Args); in ConstructJob()
560 Args.MakeArgString(getToolChain().GetLinkerPath(&LinkerIsLLD)); in ConstructJob()
564 AddLinkArgs(C, Args, CmdArgs, Inputs, Version, LinkerIsLLD); in ConstructJob()
566 if (willEmitRemarks(Args) && in ConstructJob()
567 checkRemarksOptions(getToolChain().getDriver(), Args, in ConstructJob()
569 renderRemarksOptions(Args, CmdArgs, getToolChain().getTriple(), Output, JA); in ConstructJob()
573 Args.getLastArg(options::OPT_moutline, options::OPT_mno_outline)) { in ConstructJob()
575 if (getMachOToolChain().getMachOArchName(Args) == "arm64") { in ConstructJob()
594 getStatsFileName(Args, Output, Inputs[0], getToolChain().getDriver()); in ConstructJob()
597 CmdArgs.push_back(Args.MakeArgString("-lto-stats-file=" + StatsFile.str())); in ConstructJob()
602 Args.AddAllArgs(CmdArgs, {options::OPT_d_Flag, options::OPT_s, options::OPT_t, in ConstructJob()
609 if (Args.hasArg(options::OPT_ObjC) || Args.hasArg(options::OPT_ObjCXX)) in ConstructJob()
615 if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) in ConstructJob()
616 getMachOToolChain().addStartObjectFileArgs(Args, CmdArgs); in ConstructJob()
618 Args.AddAllArgs(CmdArgs, options::OPT_L); in ConstructJob()
620 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA); in ConstructJob()
641 addFortranRuntimeLibraryPath(getToolChain(), Args, CmdArgs); in ConstructJob()
645 if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) in ConstructJob()
646 addOpenMPRuntime(CmdArgs, getToolChain(), Args); in ConstructJob()
648 if (isObjCRuntimeLinked(Args) && in ConstructJob()
649 !Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) { in ConstructJob()
651 getMachOToolChain().AddLinkARCArgs(Args, CmdArgs); in ConstructJob()
665 if (Args.hasArg(options::OPT_fnested_functions)) in ConstructJob()
668 getMachOToolChain().addProfileRTLibs(Args, CmdArgs); in ConstructJob()
670 StringRef Parallelism = getLTOParallelism(Args, getToolChain().getDriver()); in ConstructJob()
675 CmdArgs.push_back(Args.MakeArgString("-threads=" + Twine(NumThreads))); in ConstructJob()
678 if (getToolChain().ShouldLinkCXXStdlib(Args)) in ConstructJob()
679 getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs); in ConstructJob()
682 Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs); in ConstructJob()
683 bool ForceLinkBuiltins = Args.hasArg(options::OPT_fapple_link_rtlib); in ConstructJob()
690 getMachOToolChain().AddLinkRuntimeLib(Args, CmdArgs, "builtins"); in ConstructJob()
693 getMachOToolChain().AddLinkRuntimeLibArgs(Args, CmdArgs, in ConstructJob()
697 Args.ClaimAllArgs(options::OPT_pthread); in ConstructJob()
698 Args.ClaimAllArgs(options::OPT_pthreads); in ConstructJob()
702 if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) { in ConstructJob()
706 Args.AddAllArgs(CmdArgs, options::OPT_T_Group); in ConstructJob()
707 Args.AddAllArgs(CmdArgs, options::OPT_F); in ConstructJob()
710 for (const Arg *A : Args.filtered(options::OPT_iframework)) in ConstructJob()
711 CmdArgs.push_back(Args.MakeArgString(std::string("-F") + A->getValue())); in ConstructJob()
713 if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) { in ConstructJob()
714 if (Arg *A = Args.getLastArg(options::OPT_fveclib)) { in ConstructJob()
725 if (const Arg *Root = Args.getLastArg(options::OPT_isysroot)) { in ConstructJob()
732 CmdArgs.push_back(Args.MakeArgString(std::string("-L") + L)); in ConstructJob()
737 CmdArgs.push_back(Args.MakeArgString(std::string("-F") + F)); in ConstructJob()
760 const ArgList &Args, in ConstructJob() argument
765 Args.ClaimAllArgs(options::OPT_g_Group); in ConstructJob()
767 Args.ClaimAllArgs(options::OPT_emit_llvm); in ConstructJob()
770 Args.ClaimAllArgs(options::OPT_w); in ConstructJob()
772 Args.ClaimAllArgs(options::OPT_stdlib_EQ); in ConstructJob()
799 const char *Exec = Args.MakeArgString(getToolChain().GetStaticLibToolPath()); in ConstructJob()
808 const ArgList &Args, in ConstructJob() argument
823 const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("lipo")); in ConstructJob()
831 const ArgList &Args, in ConstructJob() argument
844 Args.MakeArgString(getToolChain().GetProgramPath("dsymutil")); in ConstructJob()
852 const ArgList &Args, in ConstructJob() argument
868 Args.MakeArgString(getToolChain().GetProgramPath("dwarfdump")); in ConstructJob()
873 MachO::MachO(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) in MachO() argument
874 : ToolChain(D, Triple, Args) { in MachO()
882 Darwin::Darwin(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) in Darwin() argument
883 : MachO(D, Triple, Args), TargetInitialized(false), in Darwin()
884 CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args) {} in Darwin()
981 StringRef MachO::getMachOArchName(const ArgList &Args) const { in getMachOArchName()
997 if (const Arg *A = Args.getLastArg(clang::driver::options::OPT_march_EQ)) in getMachOArchName()
1001 if (const Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) in getMachOArchName()
1009 VersionTuple MachO::getLinkerVersion(const llvm::opt::ArgList &Args) const { in getLinkerVersion()
1013 if (Arg *A = Args.getLastArg(options::OPT_mlinker_version_EQ)) in getLinkerVersion()
1021 if (Arg *A = Args.getLastArg(options::OPT_mlinker_version_EQ)) in getLinkerVersion()
1024 << A->getAsString(Args); in getLinkerVersion()
1034 std::string Darwin::ComputeEffectiveClangTriple(const ArgList &Args, in ComputeEffectiveClangTriple() argument
1036 llvm::Triple Triple(ComputeLLVMTriple(Args, InputType)); in ComputeEffectiveClangTriple()
1090 const ArgList &Args) in DarwinClang() argument
1091 : Darwin(D, Triple, Args) {} in DarwinClang()
1124 void DarwinClang::AddLinkARCArgs(const ArgList &Args, in AddLinkARCArgs() argument
1137 if ((runtime.hasNativeARC() || !isObjCAutoRefCount(Args)) && in AddLinkARCArgs()
1165 if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) in AddLinkARCArgs()
1169 if (const Arg *A = Args.getLastArg(options::OPT__sysroot_EQ)) in AddLinkARCArgs()
1193 CmdArgs.push_back(Args.MakeArgString(P)); in AddLinkARCArgs()
1204 void MachO::AddLinkRuntimeLib(const ArgList &Args, ArgStringList &CmdArgs, in AddLinkRuntimeLib() argument
1229 const char *LibArg = Args.MakeArgString(P); in AddLinkRuntimeLib()
1248 CmdArgs.push_back(Args.MakeArgString(Dir)); in AddLinkRuntimeLib()
1304 static bool hasExportSymbolDirective(const ArgList &Args) { in hasExportSymbolDirective() argument
1305 for (Arg *A : Args) { in hasExportSymbolDirective()
1330 static void addSectalignToPage(const ArgList &Args, ArgStringList &CmdArgs, in addSectalignToPage() argument
1332 for (const char *A : {"-sectalign", Args.MakeArgString(Segment), in addSectalignToPage()
1333 Args.MakeArgString(Section), "0x4000"}) in addSectalignToPage()
1337 void Darwin::addProfileRTLibs(const ArgList &Args, in addProfileRTLibs() argument
1339 if (!needsProfileRT(Args) && !needsGCovInstrumentation(Args)) in addProfileRTLibs()
1342 AddLinkRuntimeLib(Args, CmdArgs, "profile", in addProfileRTLibs()
1345 bool ForGCOV = needsGCovInstrumentation(Args); in addProfileRTLibs()
1350 if (hasExportSymbolDirective(Args)) { in addProfileRTLibs()
1374 Args, CmdArgs, "__DATA", in addProfileRTLibs()
1381 void DarwinClang::AddLinkSanitizerLibArgs(const ArgList &Args, in AddLinkSanitizerLibArgs() argument
1386 AddLinkRuntimeLib(Args, CmdArgs, Sanitizer, RLO, Shared); in AddLinkSanitizerLibArgs()
1390 const ArgList &Args) const { in GetRuntimeLibType()
1391 if (Arg* A = Args.getLastArg(options::OPT_rtlib_EQ)) { in GetRuntimeLibType()
1401 void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args, in AddLinkRuntimeLibArgs() argument
1405 GetRuntimeLibType(Args); in AddLinkRuntimeLibArgs()
1409 if (Args.hasArg(options::OPT_static) || in AddLinkRuntimeLibArgs()
1410 Args.hasArg(options::OPT_fapple_kext) || in AddLinkRuntimeLibArgs()
1411 Args.hasArg(options::OPT_mkernel)) { in AddLinkRuntimeLibArgs()
1413 AddLinkRuntimeLib(Args, CmdArgs, "builtins"); in AddLinkRuntimeLibArgs()
1420 if (const Arg *A = Args.getLastArg(options::OPT_static_libgcc)) { in AddLinkRuntimeLibArgs()
1421 getDriver().Diag(diag::err_drv_unsupported_opt) << A->getAsString(Args); in AddLinkRuntimeLibArgs()
1425 const SanitizerArgs &Sanitize = getSanitizerArgs(Args); in AddLinkRuntimeLibArgs()
1427 AddLinkSanitizerLibArgs(Args, CmdArgs, "asan"); in AddLinkRuntimeLibArgs()
1429 AddLinkSanitizerLibArgs(Args, CmdArgs, "lsan"); in AddLinkRuntimeLibArgs()
1431 AddLinkSanitizerLibArgs(Args, CmdArgs, in AddLinkRuntimeLibArgs()
1436 AddLinkSanitizerLibArgs(Args, CmdArgs, "tsan"); in AddLinkRuntimeLibArgs()
1437 if (Sanitize.needsFuzzer() && !Args.hasArg(options::OPT_dynamiclib)) { in AddLinkRuntimeLibArgs()
1438 AddLinkSanitizerLibArgs(Args, CmdArgs, "fuzzer", /*shared=*/false); in AddLinkRuntimeLibArgs()
1441 AddCXXStdlibLibArgs(Args, CmdArgs); in AddLinkRuntimeLibArgs()
1444 AddLinkRuntimeLib(Args, CmdArgs, "stats_client", RLO_AlwaysLink); in AddLinkRuntimeLibArgs()
1445 AddLinkSanitizerLibArgs(Args, CmdArgs, "stats"); in AddLinkRuntimeLibArgs()
1450 AddLinkRuntimeLib(Args, CmdArgs, "xray"); in AddLinkRuntimeLibArgs()
1451 AddLinkRuntimeLib(Args, CmdArgs, "xray-basic"); in AddLinkRuntimeLibArgs()
1452 AddLinkRuntimeLib(Args, CmdArgs, "xray-fdr"); in AddLinkRuntimeLibArgs()
1455 if (isTargetDriverKit() && !Args.hasArg(options::OPT_nodriverkitlib)) { in AddLinkRuntimeLibArgs()
1474 AddLinkRuntimeLib(Args, CmdArgs, "builtins"); in AddLinkRuntimeLibArgs()
1559 void addOSVersionMinArgument(DerivedArgList &Args, const OptTable &Opts) { in addOSVersionMinArgument()
1582 Argument = Args.MakeJoinedArg(nullptr, Opts.getOption(Opt), OSVersion); in addOSVersionMinArgument()
1583 Args.append(Argument); in addOSVersionMinArgument()
1588 std::string getAsString(DerivedArgList &Args, const OptTable &Opts) { in getAsString()
1596 return Argument->getAsString(Args); in getAsString()
1741 getDeploymentTargetFromOSVersionArg(DerivedArgList &Args, in getDeploymentTargetFromOSVersionArg() argument
1743 Arg *macOSVersion = Args.getLastArg(options::OPT_mmacos_version_min_EQ); in getDeploymentTargetFromOSVersionArg()
1744 Arg *iOSVersion = Args.getLastArg(options::OPT_mios_version_min_EQ, in getDeploymentTargetFromOSVersionArg()
1747 Args.getLastArg(options::OPT_mtvos_version_min_EQ, in getDeploymentTargetFromOSVersionArg()
1750 Args.getLastArg(options::OPT_mwatchos_version_min_EQ, in getDeploymentTargetFromOSVersionArg()
1755 << macOSVersion->getAsString(Args) in getDeploymentTargetFromOSVersionArg()
1758 ->getAsString(Args); in getDeploymentTargetFromOSVersionArg()
1764 << iOSVersion->getAsString(Args) in getDeploymentTargetFromOSVersionArg()
1765 << (TvOSVersion ? TvOSVersion : WatchOSVersion)->getAsString(Args); in getDeploymentTargetFromOSVersionArg()
1771 << TvOSVersion->getAsString(Args) in getDeploymentTargetFromOSVersionArg()
1772 << WatchOSVersion->getAsString(Args); in getDeploymentTargetFromOSVersionArg()
1848 inferDeploymentTargetFromSDK(DerivedArgList &Args, in inferDeploymentTargetFromSDK() argument
1850 const Arg *A = Args.getLastArg(options::OPT_isysroot); in inferDeploymentTargetFromSDK()
1945 inferDeploymentTargetFromArch(DerivedArgList &Args, const Darwin &Toolchain, in inferDeploymentTargetFromArch() argument
1950 StringRef MachOArchName = Toolchain.getMachOArchName(Args); in inferDeploymentTargetFromArch()
1968 DerivedArgList &Args, const llvm::Triple &Triple, const Driver &TheDriver, in getDeploymentTargetFromTargetArg() argument
1970 if (!Args.hasArg(options::OPT_target)) in getDeploymentTargetFromTargetArg()
1977 for (const Arg *A : Args.filtered(options::OPT_darwin_target_variant)) { in getDeploymentTargetFromTargetArg()
2002 Args.getLastArg(options::OPT_target), in getDeploymentTargetFromTargetArg()
2008 getDeploymentTargetFromMTargetOSArg(DerivedArgList &Args, in getDeploymentTargetFromMTargetOSArg() argument
2011 auto *A = Args.getLastArg(options::OPT_mtargetos_EQ); in getDeploymentTargetFromMTargetOSArg()
2023 << TT.getOSName() << A->getAsString(Args); in getDeploymentTargetFromMTargetOSArg()
2030 << A->getAsString(Args); in getDeploymentTargetFromMTargetOSArg()
2038 const ArgList &Args, in parseSDKSettings() argument
2040 const Arg *A = Args.getLastArg(options::OPT_isysroot); in parseSDKSettings()
2055 void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { in AddDeploymentTarget()
2061 if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) { in AddDeploymentTarget()
2071 Args.append(Args.MakeSeparateArg( in AddDeploymentTarget()
2079 SDKInfo = parseSDKSettings(getVFS(), Args, getDriver()); in AddDeploymentTarget()
2083 getDeploymentTargetFromTargetArg(Args, getTriple(), getDriver(), SDKInfo); in AddDeploymentTarget()
2086 if (const auto *MTargetOSArg = Args.getLastArg(options::OPT_mtargetos_EQ)) { in AddDeploymentTarget()
2087 std::string TargetArgStr = OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2088 std::string MTargetOSArgStr = MTargetOSArg->getAsString(Args); in AddDeploymentTarget()
2093 getDeploymentTargetFromOSVersionArg(Args, getDriver()); in AddDeploymentTarget()
2116 OSVersionArgTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2117 std::string TargetArg = OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2123 } else if ((OSTarget = getDeploymentTargetFromMTargetOSArg(Args, getDriver(), in AddDeploymentTarget()
2128 getDeploymentTargetFromOSVersionArg(Args, getDriver()); in AddDeploymentTarget()
2130 std::string MTargetOSArgStr = OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2131 std::string OSVersionArgStr = OSVersionArgTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2137 OSTarget = getDeploymentTargetFromOSVersionArg(Args, getDriver()); in AddDeploymentTarget()
2146 inferDeploymentTargetFromSDK(Args, SDKInfo); in AddDeploymentTarget()
2155 OSTarget = inferDeploymentTargetFromSDK(Args, SDKInfo); in AddDeploymentTarget()
2165 inferDeploymentTargetFromArch(Args, *this, getTriple(), getDriver()); in AddDeploymentTarget()
2169 OSTarget->addOSVersionMinArgument(Args, Opts); in AddDeploymentTarget()
2180 << OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2186 << OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2191 << OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2205 << OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2218 << OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2224 << OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2230 << OSTarget->getAsString(Args, Opts); in AddDeploymentTarget()
2247 if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) { in AddDeploymentTarget()
2465 void DarwinClang::AddCXXStdlibLibArgs(const ArgList &Args, in AddCXXStdlibLibArgs() argument
2467 CXXStdlibType Type = GetCXXStdlibType(Args); in AddCXXStdlibLibArgs()
2472 if (Args.hasArg(options::OPT_fexperimental_library)) in AddCXXStdlibLibArgs()
2483 if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) { in AddCXXStdlibLibArgs()
2491 CmdArgs.push_back(Args.MakeArgString(P)); in AddCXXStdlibLibArgs()
2512 void DarwinClang::AddCCKextLibArgs(const ArgList &Args, in AddCCKextLibArgs() argument
2537 CmdArgs.push_back(Args.MakeArgString(P)); in AddCCKextLibArgs()
2540 DerivedArgList *MachO::TranslateArgs(const DerivedArgList &Args, in TranslateArgs() argument
2543 DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs()); in TranslateArgs()
2553 for (Arg *A : Args) { in TranslateArgs()
2563 TranslateXarchArgs(Args, A, DAL); in TranslateArgs()
2710 void MachO::AddLinkRuntimeLibArgs(const ArgList &Args, in AddLinkRuntimeLibArgs() argument
2718 (tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard) in AddLinkRuntimeLibArgs()
2721 CompilerRT += Args.hasArg(options::OPT_fPIC) ? "_pic" : "_static"; in AddLinkRuntimeLibArgs()
2723 AddLinkRuntimeLib(Args, CmdArgs, CompilerRT, RLO_IsEmbedded); in AddLinkRuntimeLibArgs()
2825 Darwin::TranslateArgs(const DerivedArgList &Args, StringRef BoundArch, in TranslateArgs() argument
2829 MachO::TranslateArgs(Args, BoundArch, DeviceOffloadKind); in TranslateArgs()
2862 if (!Args.getLastArg(options::OPT_stdlib_EQ) && in TranslateArgs()
2863 GetCXXStdlibType(Args) == ToolChain::CST_Libcxx) in TranslateArgs()
2884 if (Args.hasFlag(options::OPT_fomit_frame_pointer, in TranslateArgs()
2893 bool MachO::IsUnwindTablesDefault(const ArgList &Args) const { in IsUnwindTablesDefault()
2897 (GetExceptionModel(Args) != llvm::ExceptionHandling::SjLj && in IsUnwindTablesDefault()
2898 Args.hasFlag(options::OPT_fexceptions, options::OPT_fno_exceptions, in IsUnwindTablesDefault()
2914 llvm::ExceptionHandling Darwin::GetExceptionModel(const ArgList &Args) const { in GetExceptionModel()
2921 llvm::Triple Triple(ComputeLLVMTriple(Args)); in GetExceptionModel()
2937 bool MachO::isPIEDefault(const llvm::opt::ArgList &Args) const { return false; } in isPIEDefault()
2949 void Darwin::addMinVersionArgs(const ArgList &Args, in addMinVersionArgs() argument
2977 CmdArgs.push_back(Args.MakeArgString(TargetVersion.getAsString())); in addMinVersionArgs()
2995 CmdArgs.push_back(Args.MakeArgString(VariantTargetVersion.getAsString())); in addMinVersionArgs()
3018 void Darwin::addPlatformVersionArgs(const llvm::opt::ArgList &Args, in addPlatformVersionArgs() argument
3031 CmdArgs.push_back(Args.MakeArgString(PlatformName)); in addPlatformVersionArgs()
3043 CmdArgs.push_back(Args.MakeArgString(TargetVersion.getAsString())); in addPlatformVersionArgs()
3058 CmdArgs.push_back(Args.MakeArgString( in addPlatformVersionArgs()
3067 CmdArgs.push_back(Args.MakeArgString(SDKVersion.getAsString())); in addPlatformVersionArgs()
3078 CmdArgs.push_back(Args.MakeArgString(TargetVersion.getAsString())); in addPlatformVersionArgs()
3105 static void addDynamicLibLinkArgs(const Darwin &D, const ArgList &Args, in addDynamicLibLinkArgs() argument
3123 static void addBundleLinkArgs(const Darwin &D, const ArgList &Args, in addBundleLinkArgs() argument
3125 if (Args.hasArg(options::OPT_static)) in addBundleLinkArgs()
3134 static void addPgProfilingLinkArgs(const Darwin &D, const ArgList &Args, in addPgProfilingLinkArgs() argument
3137 if (Args.hasArg(options::OPT_static) || Args.hasArg(options::OPT_object) || in addPgProfilingLinkArgs()
3138 Args.hasArg(options::OPT_preload)) { in addPgProfilingLinkArgs()
3158 static void addDefaultCRTLinkArgs(const Darwin &D, const ArgList &Args, in addDefaultCRTLinkArgs() argument
3182 void Darwin::addStartObjectFileArgs(const ArgList &Args, in addStartObjectFileArgs() argument
3185 if (Args.hasArg(options::OPT_dynamiclib)) in addStartObjectFileArgs()
3186 addDynamicLibLinkArgs(*this, Args, CmdArgs); in addStartObjectFileArgs()
3187 else if (Args.hasArg(options::OPT_bundle)) in addStartObjectFileArgs()
3188 addBundleLinkArgs(*this, Args, CmdArgs); in addStartObjectFileArgs()
3189 else if (Args.hasArg(options::OPT_pg) && SupportsProfiling()) in addStartObjectFileArgs()
3190 addPgProfilingLinkArgs(*this, Args, CmdArgs); in addStartObjectFileArgs()
3191 else if (Args.hasArg(options::OPT_static) || in addStartObjectFileArgs()
3192 Args.hasArg(options::OPT_object) || in addStartObjectFileArgs()
3193 Args.hasArg(options::OPT_preload)) in addStartObjectFileArgs()
3196 addDefaultCRTLinkArgs(*this, Args, CmdArgs); in addStartObjectFileArgs()
3198 if (isTargetMacOS() && Args.hasArg(options::OPT_shared_libgcc) && in addStartObjectFileArgs()
3200 const char *Str = Args.MakeArgString(GetFilePath("crt3.o")); in addStartObjectFileArgs()