Home | History | Annotate | Download | only in Driver

Lines Matching refs:CmdArgs

181 static void addDirectoryList(const ArgList &Args, ArgStringList &CmdArgs,
201 CmdArgs.push_back(Args.MakeArgString(std::string(ArgName) + "."));
203 CmdArgs.push_back(ArgName);
204 CmdArgs.push_back(".");
208 CmdArgs.push_back(
211 CmdArgs.push_back(ArgName);
212 CmdArgs.push_back(Args.MakeArgString(Dirs.substr(0, Delim)));
220 CmdArgs.push_back(Args.MakeArgString(std::string(ArgName) + "."));
222 CmdArgs.push_back(ArgName);
223 CmdArgs.push_back(".");
227 CmdArgs.push_back(Args.MakeArgString(std::string(ArgName) + Dirs));
229 CmdArgs.push_back(ArgName);
230 CmdArgs.push_back(Args.MakeArgString(Dirs));
236 const ArgList &Args, ArgStringList &CmdArgs) {
241 Args.AddAllArgValues(CmdArgs, options::OPT_Zlinker_input);
250 CmdArgs.push_back(II.getFilename());
259 TC.AddCXXStdlibLibArgs(Args, CmdArgs);
261 TC.AddCCKextLibArgs(Args, CmdArgs);
265 A.render(Args, CmdArgs);
267 A.renderAsInput(Args, CmdArgs);
274 addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH");
301 ArgStringList &CmdArgs,
310 Args.AddLastArg(CmdArgs, options::OPT_C);
311 Args.AddLastArg(CmdArgs, options::OPT_CC);
331 CmdArgs.push_back("-dependency-file");
332 CmdArgs.push_back(DepFile);
352 CmdArgs.push_back("-MT");
355 CmdArgs.push_back(Args.MakeArgString(Quoted));
360 CmdArgs.push_back("-sys-header-deps");
364 CmdArgs.push_back("-module-file-deps");
371 CmdArgs.push_back("-MG");
374 Args.AddLastArg(CmdArgs, options::OPT_MP);
375 Args.AddLastArg(CmdArgs, options::OPT_MV);
382 CmdArgs.push_back("-MT");
385 CmdArgs.push_back(Args.MakeArgString(Quoted));
389 A->render(Args, CmdArgs);
419 CmdArgs.push_back(Args.MakeArgString(Twine("-find-pch-source=") +
457 CmdArgs.push_back("-include-pch");
458 CmdArgs.push_back(
502 CmdArgs.push_back("-include-pch");
504 CmdArgs.push_back("-include-pth");
505 CmdArgs.push_back(Args.MakeArgString(P));
524 A->render(Args, CmdArgs);
527 Args.AddAllArgs(CmdArgs,
537 Args.AddAllArgValues(CmdArgs, options::OPT_Wp_COMMA,
549 CmdArgs.push_back("-isysroot");
550 CmdArgs.push_back(C.getArgs().MakeArgString(sysroot));
559 addDirectoryList(Args, CmdArgs, "-I", "CPATH");
561 addDirectoryList(Args, CmdArgs, "-c-isystem", "C_INCLUDE_PATH");
563 addDirectoryList(Args, CmdArgs, "-cxx-isystem", "CPLUS_INCLUDE_PATH");
565 addDirectoryList(Args, CmdArgs, "-objc-isystem", "OBJC_INCLUDE_PATH");
567 addDirectoryList(Args, CmdArgs, "-objcxx-isystem", "OBJCPLUS_INCLUDE_PATH");
576 getToolChain().AddClangCXXStdlibIncludeArgs(Args, CmdArgs);
578 AuxToolChain->AddClangCXXStdlibIncludeArgs(Args, CmdArgs);
583 getToolChain().AddClangSystemIncludeArgs(Args, CmdArgs);
585 AuxToolChain->AddClangCXXStdlibIncludeArgs(Args, CmdArgs);
588 getToolChain().AddIAMCUIncludeArgs(Args, CmdArgs);
593 getToolChain().AddCudaIncludeArgs(Args, CmdArgs);
1041 ArgStringList &CmdArgs, bool KernelOrKext) const {
1081 CmdArgs.push_back("-target-abi");
1082 CmdArgs.push_back(ABIName);
1089 CmdArgs.push_back("-msoft-float");
1090 CmdArgs.push_back("-mfloat-abi");
1091 CmdArgs.push_back("soft");
1094 CmdArgs.push_back("-mfloat-abi");
1095 CmdArgs.push_back("soft");
1099 CmdArgs.push_back("-mfloat-abi");
1100 CmdArgs.push_back("hard");
1106 CmdArgs.push_back("-backend-option");
1108 CmdArgs.push_back("-arm-global-merge=false");
1110 CmdArgs.push_back("-arm-global-merge=true");
1115 CmdArgs.push_back("-no-implicit-float");
1147 ArgStringList &CmdArgs) const {
1154 CmdArgs.push_back("-disable-red-zone");
1158 CmdArgs.push_back("-no-implicit-float");
1168 CmdArgs.push_back("-target-abi");
1169 CmdArgs.push_back(ABIName);
1173 CmdArgs.push_back("-backend-option");
1175 CmdArgs.push_back("-aarch64-fix-cortex-a53-835769=1");
1177 CmdArgs.push_back("-aarch64-fix-cortex-a53-835769=0");
1180 CmdArgs.push_back("-backend-option");
1181 CmdArgs.push_back("-aarch64-fix-cortex-a53-835769=1");
1187 CmdArgs.push_back("-backend-option");
1189 CmdArgs.push_back("-aarch64-global-merge=false");
1191 CmdArgs.push_back("-aarch64-global-merge=true");
1436 ArgStringList &CmdArgs) const {
1443 CmdArgs.push_back("-target-abi");
1444 CmdArgs.push_back(ABIName.data());
1449 CmdArgs.push_back("-msoft-float");
1450 CmdArgs.push_back("-mfloat-abi");
1451 CmdArgs.push_back("soft");
1455 CmdArgs.push_back("-mfloat-abi");
1456 CmdArgs.push_back("hard");
1461 CmdArgs.push_back("-mllvm");
1462 CmdArgs.push_back("-mxgot");
1469 CmdArgs.push_back("-mllvm");
1470 CmdArgs.push_back("-mno-ldc1-sdc1");
1477 CmdArgs.push_back("-mllvm");
1478 CmdArgs.push_back("-mno-check-zero-division");
1484 CmdArgs.push_back("-mllvm");
1485 CmdArgs.push_back(Args.MakeArgString("-mips-ssection-threshold=" + v));
1493 CmdArgs.push_back("-mllvm");
1494 CmdArgs.push_back(Args.MakeArgString("-mips-compact-branches=" + Val));
1620 ArgStringList &CmdArgs) const {
1660 CmdArgs.push_back("-msoft-float");
1661 CmdArgs.push_back("-mfloat-abi");
1662 CmdArgs.push_back("soft");
1666 CmdArgs.push_back("-mfloat-abi");
1667 CmdArgs.push_back("hard");
1671 CmdArgs.push_back("-target-abi");
1672 CmdArgs.push_back(ABIName);
1748 ArgStringList &CmdArgs) const {
1754 CmdArgs.push_back("-msoft-float");
1755 CmdArgs.push_back("-mfloat-abi");
1756 CmdArgs.push_back("soft");
1760 CmdArgs.push_back("-mfloat-abi");
1761 CmdArgs.push_back("hard");
1766 ArgStringList &CmdArgs) const {
1768 CmdArgs.push_back("-mbackchain");
1982 ArgStringList &CmdArgs, bool IsThinLTO) {
1986 CmdArgs.push_back("-plugin");
1989 CmdArgs.push_back(Args.MakeArgString(Plugin));
1997 CmdArgs.push_back(Args.MakeArgString(Twine("-plugin-opt=mcpu=") + CPU));
2009 CmdArgs.push_back(Args.MakeArgString(Twine("-plugin-opt=O") + OOpt));
2013 CmdArgs.push_back("-plugin-opt=thinlto");
2019 CmdArgs.push_back("-plugin-opt=-debugger-tune=lldb");
2021 CmdArgs.push_back("-plugin-opt=-debugger-tune=sce");
2023 CmdArgs.push_back("-plugin-opt=-debugger-tune=gdb");
2223 ArgStringList &CmdArgs) const {
2227 CmdArgs.push_back("-disable-red-zone");
2241 CmdArgs.push_back("-no-implicit-float");
2246 CmdArgs.push_back("-mllvm");
2247 CmdArgs.push_back(Args.MakeArgString("-x86-asm-syntax=" + Value));
2256 CmdArgs.push_back("-mfloat-abi");
2257 CmdArgs.push_back("soft");
2258 CmdArgs.push_back("-mstack-alignment=4");
2263 ArgStringList &CmdArgs) const {
2264 CmdArgs.push_back("-mqdsp6-compat");
2265 CmdArgs.push_back("-Wreturn-type");
2270 CmdArgs.push_back("-mllvm");
2271 CmdArgs.push_back(Args.MakeArgString(Opt));
2275 CmdArgs.push_back("-fshort-enums");
2277 CmdArgs.push_back("-mllvm");
2278 CmdArgs.push_back("-enable-hexagon-ieee-rnd-near");
2280 CmdArgs.push_back("-mllvm");
2281 CmdArgs.push_back("-machine-sink-split=0");
2285 ArgStringList &CmdArgs) const {
2289 CmdArgs.push_back("-target-cpu");
2290 CmdArgs.push_back(Args.MakeArgString(CPUName));
2308 ArgStringList &CmdArgs) const {
2312 CmdArgs.push_back("-fvisibility");
2313 CmdArgs.push_back("hidden");
2539 const ArgList &Args, ArgStringList &CmdArgs,
2611 CmdArgs.push_back("-target-feature");
2612 CmdArgs.push_back(Name);
2640 ArgStringList &CmdArgs) {
2665 CmdArgs.push_back("-fobjc-exceptions");
2698 CmdArgs.push_back("-fcxx-exceptions");
2705 CmdArgs.push_back("-fexceptions");
2787 static void RenderDebugEnablingArgs(const ArgList &Args, ArgStringList &CmdArgs,
2793 CmdArgs.push_back("-debug-info-kind=line-tables-only");
2796 CmdArgs.push_back("-debug-info-kind=limited");
2799 CmdArgs.push_back("-debug-info-kind=standalone");
2805 CmdArgs.push_back(
2809 CmdArgs.push_back("-debugger-tuning=gdb");
2812 CmdArgs.push_back("-debugger-tuning=lldb");
2815 CmdArgs.push_back("-debugger-tuning=sce");
2824 ArgStringList &CmdArgs,
2827 CmdArgs.push_back("-mrelax-all");
2836 CmdArgs.push_back("-mincremental-linker-compatible");
2857 CmdArgs.push_back(Value.data());
2870 CmdArgs.push_back("-target-feature");
2871 CmdArgs.push_back("+use-tcc-in-div");
2875 CmdArgs.push_back("-target-feature");
2876 CmdArgs.push_back("-use-tcc-in-div");
2880 CmdArgs.push_back("-target-feature");
2881 CmdArgs.push_back("+soft-float");
2885 CmdArgs.push_back("-target-feature");
2886 CmdArgs.push_back("-soft-float");
2914 CmdArgs.push_back("-msave-temp-labels");
2916 CmdArgs.push_back("-massembler-fatal-warnings");
2918 CmdArgs.push_back("-mnoexecstack");
2932 CmdArgs.push_back(Value.data());
2941 CmdArgs.push_back(Value.data());
2943 RenderDebugEnablingArgs(Args, CmdArgs,
2958 CmdArgs.push_back("-compress-debug-sections");
2963 CmdArgs.push_back("--mrelax-relocations");
2965 CmdArgs.push_back("-target-feature");
2966 CmdArgs.push_back(MipsTargetFeature);
2974 ArgStringList &CmdArgs) {
2975 CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins"));
3027 static void addOpenMPRuntime(ArgStringList &CmdArgs, const ToolChain &TC,
3035 CmdArgs.push_back("-lomp");
3038 CmdArgs.push_back("-lgomp");
3041 CmdArgs.push_back("-liomp5");
3050 ArgStringList &CmdArgs, StringRef Sanitizer,
3054 if (IsWhole) CmdArgs.push_back("-whole-archive");
3055 CmdArgs.push_back(TC.getCompilerRTArgString(Args, Sanitizer, IsShared));
3056 if (IsWhole) CmdArgs.push_back("-no-whole-archive");
3062 ArgStringList &CmdArgs,
3066 CmdArgs.push_back(Args.MakeArgString("--dynamic-list=" + SanRT + ".syms"));
3073 ArgStringList &CmdArgs) {
3076 CmdArgs.push_back("--no-as-needed");
3077 CmdArgs.push_back("-lpthread");
3078 CmdArgs.push_back("-lrt");
3079 CmdArgs.push_back("-lm");
3082 CmdArgs.push_back("-ldl");
3154 CmdArgs) {
3161 addSanitizerRuntime(TC, Args, CmdArgs, RT, true, false);
3163 addSanitizerRuntime(TC, Args, CmdArgs, RT, false, true);
3166 addSanitizerRuntime(TC, Args, CmdArgs, RT, false, true);
3167 AddExportDynamic |= !addSanitizerDynamicList(TC, Args, CmdArgs, RT);
3170 addSanitizerRuntime(TC, Args, CmdArgs, RT, false, false);
3171 AddExportDynamic |= !addSanitizerDynamicList(TC, Args, CmdArgs, RT);
3174 CmdArgs.push_back("-u");
3175 CmdArgs.push_back(Args.MakeArgString(S));
3180 CmdArgs.push_back("-export-dynamic");
3185 ArgStringList &CmdArgs) {
3188 CmdArgs.push_back("-whole-archive");
3189 CmdArgs.push_back(TC.getCompilerRTArgString(Args, "xray", false));
3190 CmdArgs.push_back("-no-whole-archive");
3197 ArgStringList &CmdArgs) {
3198 CmdArgs.push_back("--no-as-needed");
3199 CmdArgs.push_back("-lpthread");
3200 CmdArgs.push_back("-lrt");
3201 CmdArgs.push_back("-lm");
3202 CmdArgs.push_back("-latomic");
3204 CmdArgs.push_back("-lc++");
3206 CmdArgs.push_back("-lstdc++");
3208 CmdArgs.push_back("-ldl");
3294 static void addDebugCompDirArg(const ArgList &Args, ArgStringList &CmdArgs) {
3297 CmdArgs.push_back("-fdebug-compilation-dir");
3298 CmdArgs.push_back(Args.MakeArgString(cwd));
3375 /// Add -x lang to \p CmdArgs for \p Input.
3377 ArgStringList &CmdArgs) {
3383 CmdArgs.push_back("-x");
3385 CmdArgs.push_back(types::getTypeName(types::TY_PP_ObjCXX));
3387 CmdArgs.push_back(types::getTypeName(Input.getType()));
3502 ArgStringList &CmdArgs) {
3528 CmdArgs.push_back(Args.MakeArgString(Twine("-fprofile-instrument-path=") +
3534 CmdArgs.push_back(
3538 CmdArgs.push_back("-fprofile-instrument=clang");
3543 CmdArgs.push_back(Args.MakeArgString(
3553 CmdArgs.push_back(
3560 CmdArgs.push_back("-femit-coverage-notes");
3564 CmdArgs.push_back("-femit-coverage-data");
3575 CmdArgs.push_back("-fcoverage-mapping");
3580 CmdArgs.push_back("-coverage-file");
3594 CmdArgs.push_back(Args.MakeArgString(CoverageFilename));
3600 ArgStringList &CmdArgs) {
3613 CmdArgs.push_back("--dependent-lib=libclang_rt.profile-x86_64.a");
3767 ArgStringList &CmdArgs) {
3775 CmdArgs.push_back("-KPIC");
3787 ArgStringList CmdArgs;
3812 CmdArgs.push_back("-cc1");
3815 CmdArgs.push_back("-triple");
3816 CmdArgs.push_back(Args.MakeArgString(TripleStr));
3831 CmdArgs.push_back("-aux-triple");
3832 CmdArgs.push_back(Args.MakeArgString(AuxToolChain->getTriple().str()));
3848 getToolChain().addClangWarningOptions(CmdArgs);
3855 CmdArgs.push_back("-analyze");
3857 CmdArgs.push_back("-migrate");
3860 CmdArgs.push_back("-Eonly");
3862 CmdArgs.push_back("-E");
3865 CmdArgs.push_back("-P");
3868 CmdArgs.push_back("-emit-obj");
3870 CollectArgsForIntegratedAssembler(C, Args, CmdArgs, D);
3879 CmdArgs.push_back("-fsyntax-only");
3881 CmdArgs.push_back("-emit-pch");
3883 CmdArgs.push_back("-emit-pth");
3885 CmdArgs.push_back("-verify-pch");
3890 CmdArgs.push_back("-fsyntax-only");
3893 CmdArgs.push_back("-emit-llvm");
3896 CmdArgs.push_back("-emit-llvm-bc");
3898 CmdArgs.push_back("-S");
3900 CmdArgs.push_back("-emit-pch");
3902 CmdArgs.push_back("-module-file-info");
3904 CmdArgs.push_back("-rewrite-objc");
3907 CmdArgs.push_back("-rewrite-objc");
3918 CmdArgs.push_back("-emit-llvm-uselists");
3921 Args.AddLastArg(CmdArgs, options::OPT_flto, options::OPT_flto_EQ);
3928 Args.AddLastArg(CmdArgs, options::OPT_fthinlto_index_EQ);
3935 Args.AddLastArg(CmdArgs, options::OPT_fembed_bitcode_EQ);
3937 CmdArgs.push_back("-disable-llvm-optzns");
3940 CmdArgs.push_back("-fembed-bitcode=marker");
3946 CmdArgs.push_back("-disable-free");
3950 CmdArgs.push_back("-disable-llvm-verifier");
3952 CmdArgs.push_back("-discard-value-names");
3957 CmdArgs.push_back("-main-file-name");
3958 CmdArgs.push_back(getBaseInputName(Args, Input));
3963 CmdArgs.push_back("-static-define");
3967 CmdArgs.push_back("-analyzer-store=region");
3970 CmdArgs.push_back("-analyzer-opt-analyze-nested-blocks");
3972 CmdArgs.push_back("-analyzer-eagerly-assume");
3976 CmdArgs.push_back("-analyzer-checker=core");
3979 CmdArgs.push_back("-analyzer-checker=unix");
3982 CmdArgs.push_back("-analyzer-checker=unix.API");
3983 CmdArgs.push_back("-analyzer-checker=unix.Malloc");
3984 CmdArgs.push_back("-analyzer-checker=unix.MallocSizeof");
3985 CmdArgs.push_back("-analyzer-checker=unix.MismatchedDeallocator");
3986 CmdArgs.push_back("-analyzer-checker=unix.cstring.BadSizeArg");
3987 CmdArgs.push_back("-analyzer-checker=unix.cstring.NullArg");
3992 CmdArgs.push_back("-analyzer-disable-checker=unix.API");
3993 CmdArgs.push_back("-analyzer-disable-checker=unix.Vfork");
3997 CmdArgs.push_back("-analyzer-checker=osx");
3999 CmdArgs.push_back("-analyzer-checker=deadcode");
4002 CmdArgs.push_back("-analyzer-checker=cplusplus");
4005 CmdArgs.push_back(
4007 CmdArgs.push_back("-analyzer-checker=security.insecureAPI.getpw");
4008 CmdArgs.push_back("-analyzer-checker=security.insecureAPI.gets");
4009 CmdArgs.push_back("-analyzer-checker=security.insecureAPI.mktemp");
4010 CmdArgs.push_back("-analyzer-checker=security.insecureAPI.mkstemp");
4011 CmdArgs.push_back("-analyzer-checker=security.insecureAPI.vfork");
4015 CmdArgs.push_back("-analyzer-checker=nullability.NullPassedToNonnull");
4016 CmdArgs.push_back(
4022 CmdArgs.push_back("-analyzer-output");
4024 CmdArgs.push_back(A->getValue());
4026 CmdArgs.push_back("plist");
4031 CmdArgs.push_back("-w");
4034 Args.AddAllArgValues(CmdArgs, options::OPT_Xanalyzer);
4047 CmdArgs.push_back("-mrelocation-model");
4048 CmdArgs.push_back(RMName);
4051 CmdArgs.push_back("-pic-level");
4052 CmdArgs.push_back(PICLevel == 1 ? "1" : "2");
4054 CmdArgs.push_back("-pic-is-pie");
4058 CmdArgs.push_back("-meabi");
4059 CmdArgs.push_back(A->getValue());
4062 CmdArgs.push_back("-mthread-model");
4064 CmdArgs.push_back(A->getValue());
4066 CmdArgs.push_back(Args.MakeArgString(getToolChain().getThreadModel()));
4068 Args.AddLastArg(CmdArgs, options::OPT_fveclib);
4072 CmdArgs.push_back("-fno-merge-all-constants");
4080 CmdArgs.push_back("-frewrite-map-file");
4081 CmdArgs.push_back(A->getValue());
4088 CmdArgs.push_back("-mllvm");
4089 CmdArgs.push_back(Args.MakeArgString("-warn-stack-size=" + v));
4095 CmdArgs.push_back("-fno-jump-tables");
4098 CmdArgs.push_back("-mregparm");
4099 CmdArgs.push_back(A->getValue());
4108 CmdArgs.push_back("-fpcc-struct-return");
4111 CmdArgs.push_back("-freg-struct-return");
4116 CmdArgs.push_back("-fdefault-calling-conv=stdcall");
4119 CmdArgs.push_back("-mdisable-fp-elim");
4122 CmdArgs.push_back("-mno-zero-initialized-in-bss");
4134 CmdArgs.push_back("-relaxed-aliasing");
4137 CmdArgs.push_back("-no-struct-path-tbaa");
4140 CmdArgs.push_back("-fstrict-enums");
4144 CmdArgs.push_back("-fstrict-vtable-pointers");
4147 CmdArgs.push_back("-mdisable-tail-calls");
4151 CmdArgs.push_back("-split-stacks");
4171 CmdArgs.push_back("-menable-no-infs");
4180 CmdArgs.push_back("-menable-no-nans");
4199 CmdArgs.push_back("-fmath-errno");
4247 CmdArgs.push_back("-menable-unsafe-fp-math");
4250 CmdArgs.push_back("-fno-signed-zeros");
4253 CmdArgs.push_back("-freciprocal-math");
4262 CmdArgs.push_back(Args.MakeArgString("-ffp-contract=" + Val));
4270 CmdArgs.push_back(Args.MakeArgString("-ffp-contract=fast"));
4274 ParseMRecip(getToolChain().getDriver(), Args, CmdArgs);
4284 CmdArgs.push_back("-ffast-math");
4288 CmdArgs.push_back("-ffinite-math-only");
4297 CmdArgs.push_back("-masm-verbose");
4301 CmdArgs.push_back("-no-integrated-as");
4304 CmdArgs.push_back("-mdebug-pass");
4305 CmdArgs.push_back("Structure");
4308 CmdArgs.push_back("-mdebug-pass");
4309 CmdArgs.push_back("Arguments");
4317 CmdArgs.push_back("-mconstructor-aliases");
4322 CmdArgs.push_back("-fforbid-guard-variables");
4326 CmdArgs.push_back("-mms-bitfields");
4340 CmdArgs.push_back("-munwind-tables");
4342 getToolChain().addClangTargetOptions(Args, CmdArgs);
4345 CmdArgs.push_back("-mlimit-float-precision");
4346 CmdArgs.push_back(A->getValue());
4353 CmdArgs.push_back("-mcode-model");
4354 CmdArgs.push_back(A->getValue());
4360 CmdArgs.push_back("-target-cpu");
4361 CmdArgs.push_back(Args.MakeArgString(CPU));
4365 CmdArgs.push_back("-mfpmath");
4366 CmdArgs.push_back(A->getValue());
4370 getTargetFeatures(getToolChain(), Triple, Args, CmdArgs, false);
4382 AddARMTargetArgs(Triple, Args, CmdArgs, KernelOrKext);
4387 AddAArch64TargetArgs(Args, CmdArgs);
4394 AddMIPSTargetArgs(Args, CmdArgs);
4400 AddPPCTargetArgs(Args, CmdArgs);
4406 AddSparcTargetArgs(Args, CmdArgs);
4410 AddSystemZTargetArgs(Args, CmdArgs);
4415 CmdArgs);
4419 AddLanaiTargetArgs(Args, CmdArgs);
4423 AddHexagonTargetArgs(Args, CmdArgs);
4428 AddWebAssemblyTargetArgs(Args, CmdArgs);
4450 AddClangCLArgs(Args, InputType, CmdArgs, &DebugInfoKind, &EmitCodeView);
4454 CmdArgs.push_back("-target-linker-version");
4455 CmdArgs.push_back(A->getValue());
4459 CmdArgs.push_back("-momit-leaf-frame-pointer");
4474 Args.AddAllArgs(CmdArgs, options::OPT_v);
4475 Args.AddLastArg(CmdArgs, options::OPT_H);
4477 CmdArgs.push_back("-header-include-file");
4478 CmdArgs.push_back(D.CCPrintHeadersFilename ? D.CCPrintHeadersFilename
4481 Args.AddLastArg(CmdArgs, options::OPT_P);
4482 Args.AddLastArg(CmdArgs, options::OPT_print_ivar_layout);
4485 CmdArgs.push_back("-diagnostic-log-file");
4486 CmdArgs.push_back(D.CCLogDiagnosticsFilename ? D.CCLogDiagnosticsFilename
4527 CmdArgs.push_back("-gcodeview");
4539 CmdArgs.push_back("-dwarf-column-info");
4544 CmdArgs.push_back("-dwarf-ext-refs");
4545 CmdArgs.push_back("-fmodule-format=obj");
4553 CmdArgs.push_back("-backend-option");
4554 CmdArgs.push_back("-split-dwarf=Enable");
4567 RenderDebugEnablingArgs(Args, CmdArgs, DebugInfoKind, DwarfVersion,
4572 CmdArgs.push_back("-backend-option");
4573 CmdArgs.push_back("-generate-gnu-dwarf-pub-sections");
4580 CmdArgs.push_back("-backend-option");
4581 CmdArgs.push_back("-generate-arange-section");
4586 CmdArgs.push_back("-backend-option");
4587 CmdArgs.push_back("-generate-type-units");
4598 CmdArgs.push_back("-ffunction-sections");
4603 CmdArgs.push_back("-fdata-sections");
4608 CmdArgs.push_back("-fno-unique-section-names");
4610 Args.AddAllArgs(CmdArgs, options::OPT_finstrument_functions);
4614 CmdArgs.push_back("-fxray-instrument");
4617 CmdArgs.push_back("-fxray-instruction-threshold");
4618 CmdArgs.push_back(A->getValue());
4624 CmdArgs.push_back("-fxray-instrument");
4628 CmdArgs.push_back("-fxray-instruction-threshold");
4629 CmdArgs.push_back(A->getValue());
4633 addPGOAndCoverageFlags(C, D, Output, Args, CmdArgs);
4637 addPS4ProfileRTArgs(getToolChain(), Args, CmdArgs);
4641 CmdArgs.push_back("-nostdsysteminc");
4642 CmdArgs.push_back("-nobuiltininc");
4645 CmdArgs.push_back("-nostdsysteminc");
4646 Args.AddLastArg(CmdArgs, options::OPT_nostdincxx);
4647 Args.AddLastArg(CmdArgs, options::OPT_nobuiltininc);
4651 CmdArgs.push_back("-resource-dir");
4652 CmdArgs.push_back(D.ResourceDir.c_str());
4654 Args.AddLastArg(CmdArgs, options::OPT_working_directory);
4666 CmdArgs.push_back("-arcmt-check");
4669 CmdArgs.push_back("-arcmt-modify");
4672 CmdArgs.push_back("-arcmt-migrate");
4673 CmdArgs.push_back("-mt-migrate-directory");
4674 CmdArgs.push_back(A->getValue());
4676 Args.AddLastArg(CmdArgs, options::OPT_arcmt_migrate_report_output);
4677 Args.AddLastArg(CmdArgs, options::OPT_arcmt_migrate_emit_arc_errors);
4692 CmdArgs.push_back("-mt-migrate-directory");
4693 CmdArgs.push_back(A->getValue());
4699 CmdArgs.push_back("-objcmt-migrate-literals");
4700 CmdArgs.push_back("-objcmt-migrate-subscripting");
4701 CmdArgs.push_back("-objcmt-migrate-property");
4703 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_literals);
4704 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_subscripting);
4705 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_property);
4708 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_literals);
4709 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_subscripting);
4710 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_property);
4711 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_all);
4712 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_readonly_property);
4713 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_readwrite_property);
4714 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_property_dot_syntax);
4715 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_annotation);
4716 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_instancetype);
4717 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_nsmacros);
4718 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_protocol_conformance);
4719 Args.AddLastArg(CmdArgs, options::OPT_objcmt_atomic_property);
4720 Args.AddLastArg(CmdArgs, options::OPT_objcmt_returns_innerpointer_property);
4721 Args.AddLastArg(CmdArgs, options::OPT_objcmt_ns_nonatomic_iosonly);
4722 Args.AddLastArg(CmdArgs, options::OPT_objcmt_migrate_designated_init);
4723 Args.AddLastArg(CmdArgs, options::OPT_objcmt_whitelist_dir_path);
4731 AddPreprocessingOptions(C, JA, D, Args, CmdArgs, Output, Inputs,
4743 CmdArgs.push_back("-O3");
4746 A->render(Args, CmdArgs);
4759 Args.AddAllArgs(CmdArgs, options::OPT_R_Group);
4760 Args.AddAllArgs(CmdArgs, options::OPT_W_Group);
4762 CmdArgs.push_back("-pedantic");
4763 Args.AddLastArg(CmdArgs, options::OPT_pedantic_errors);
4764 Args.AddLastArg(CmdArgs, options::OPT_w);
4775 CmdArgs.push_back("-std=c++98");
4777 CmdArgs.push_back("-std=c89");
4779 Std->render(Args, CmdArgs);
4786 A->render(Args, CmdArgs);
4795 Args.AddAllArgsTranslated(CmdArgs, options::OPT_std_default_EQ, "-std=",
4800 Args.AddLastArg(CmdArgs, options::OPT_ftrigraphs,
4821 CmdArgs.push_back("-fconst-strings");
4830 CmdArgs.push_back("-fdeprecated-macro");
4836 CmdArgs.push_back("-fgnu-keywords");
4838 CmdArgs.push_back("-fno-gnu-keywords");
4842 CmdArgs.push_back("-fno-dwarf-directory-asm");
4845 CmdArgs.push_back("-fno-autolink");
4848 addDebugCompDirArg(Args, CmdArgs);
4855 CmdArgs.push_back(Args.MakeArgString("-fdebug-prefix-map=" + Map));
4861 CmdArgs.push_back("-ftemplate-depth");
4862 CmdArgs.push_back(A->getValue());
4866 CmdArgs.push_back("-foperator-arrow-depth");
4867 CmdArgs.push_back(A->getValue());
4871 CmdArgs.push_back("-fconstexpr-depth");
4872 CmdArgs.push_back(A->getValue());
4876 CmdArgs.push_back("-fconstexpr-steps");
4877 CmdArgs.push_back(A->getValue());
4881 CmdArgs.push_back("-fbracket-depth");
4882 CmdArgs.push_back(A->getValue());
4889 CmdArgs.push_back(Args.MakeArgString("-Wlarge-by-value-copy=" + bytes));
4891 CmdArgs.push_back("-Wlarge-by-value-copy=64"); // default value
4895 CmdArgs.push_back("-relocatable-pch");
4898 CmdArgs.push_back("-fconstant-string-class");
4899 CmdArgs.push_back(A->getValue());
4903 CmdArgs.push_back("-ftabstop");
4904 CmdArgs.push_back(A->getValue());
4907 CmdArgs.push_back("-ferror-limit");
4909 CmdArgs.push_back(A->getValue());
4911 CmdArgs.push_back("19");
4914 CmdArgs.push_back("-fmacro-backtrace-limit");
4915 CmdArgs.push_back(A->getValue());
4919 CmdArgs.push_back("-ftemplate-backtrace-limit");
4920 CmdArgs.push_back(A->getValue());
4924 CmdArgs.push_back("-fconstexpr-backtrace-limit");
4925 CmdArgs.push_back(A->getValue());
4929 CmdArgs.push_back("-fspell-checking-limit");
4930 CmdArgs.push_back(A->getValue());
4934 CmdArgs.push_back("-fmessage-length");
4936 CmdArgs.push_back(A->getValue());
4941 CmdArgs.push_back(Args.MakeArgString(Twine(N)));
4948 CmdArgs.push_back("-fvisibility");
4949 CmdArgs.push_back(A->getValue());
4952 CmdArgs.push_back("-fvisibility");
4953 CmdArgs.push_back("hidden");
4954 CmdArgs.push_back("-ftype-visibility");
4955 CmdArgs.push_back("default");
4959 Args.AddLastArg(CmdArgs, options::OPT_fvisibility_inlines_hidden);
4961 Args.AddLastArg(CmdArgs, options::OPT_ftlsmodel_EQ);
4966 CmdArgs.push_back("-ffreestanding");
4969 Args.AddLastArg(CmdArgs, options::OPT_femit_all_decls);
4970 Args.AddLastArg(CmdArgs, options::OPT_fheinous_gnu_extensions);
4971 Args.AddLastArg(CmdArgs, options::OPT_fno_operator_names);
4977 CmdArgs.push_back("-femulated-tls");
4980 Args.AddLastArg(CmdArgs, options::OPT_faltivec);
4981 Args.AddLastArg(CmdArgs, options::OPT_fzvector);
4983 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_show_template_tree);
4984 Args.AddLastArg(CmdArgs, options::OPT_fno_elide_type);
4993 CmdArgs.push_back("-fopenmp");
5000 CmdArgs.push_back("-fnoopenmp-use-tls");
5001 Args.AddAllArgs(CmdArgs, options::OPT_fopenmp_version_EQ);
5015 Sanitize.addArgs(getToolChain(), Args, CmdArgs, InputType);
5033 Args.AddLastArg(CmdArgs, options::OPT_pg);
5038 CmdArgs.push_back("-fno-lax-vector-conversions");
5042 CmdArgs.push_back("-fapple-kext");
5044 Args.AddLastArg(CmdArgs, options::OPT_fobjc_sender_dependent_dispatch);
5045 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_print_source_range_info);
5046 Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_parseable_fixits);
5047 Args.AddLastArg(CmdArgs, options::OPT_ftime_report);
5048 Args.AddLastArg(CmdArgs, options::OPT_ftrapv);
5051 CmdArgs.push_back("-ftrapv-handler");
5052 CmdArgs.push_back(A->getValue());
5055 Args.AddLastArg(CmdArgs, options::OPT_ftrap_function_EQ);
5061 CmdArgs.push_back("-fwrapv");
5065 CmdArgs.push_back("-fwrapv");
5071 CmdArgs.push_back("-freroll-loops");
5073 Args.AddLastArg(CmdArgs, options::OPT_fwritable_strings);
5074 Args.AddLastArg(CmdArgs, options::OPT_funroll_loops,
5077 Args.AddLastArg(CmdArgs, options::OPT_pthread);
5098 CmdArgs.push_back("-stack-protector");
5099 CmdArgs.push_back(Args.MakeArgString(Twine(StackProtectorLevel)));
5107 CmdArgs.push_back("-stack-protector-buffer-size");
5109 CmdArgs.push_back(Args.MakeArgString(Str.drop_front(16)));
5118 CmdArgs.push_back(Args.MakeArgString("-mstackrealign"));
5122 CmdArgs.push_back(Args.MakeArgString("-mstack-alignment=" + alignment));
5129 CmdArgs.push_back(Args.MakeArgString("-mstack-probe-size=" + Size));
5131 CmdArgs.push_back("-mstack-probe-size=0");
5141 CmdArgs.push_back("-fallow-half-arguments-and-returns");
5151 CmdArgs.push_back("-backend-option");
5152 CmdArgs.push_back("-arm-restrict-it");
5154 CmdArgs.push_back("-backend-option");
5155 CmdArgs.push_back("-arm-no-restrict-it");
5161 CmdArgs.push_back("-backend-option");
5162 CmdArgs.push_back("-arm-restrict-it");
5167 CmdArgs.push_back("-cl-opt-disable");
5170 CmdArgs.push_back("-cl-strict-aliasing");
5173 CmdArgs.push_back("-cl-single-precision-constant");
5176 CmdArgs.push_back("-cl-finite-math-only");
5179 CmdArgs.push_back("-cl-kernel-arg-info");
5182 CmdArgs.push_back("-cl-unsafe-math-optimizations");
5185 CmdArgs.push_back("-cl-fast-relaxed-math");
5188 CmdArgs.push_back("-cl-mad-enable");
5191 CmdArgs.push_back("-cl-no-signed-zeros");
5196 CmdArgs.push_back(Args.MakeArgString(CLStdStr));
5199 CmdArgs.push_back("-cl-denorms-are-zero");
5209 A->render(Args, CmdArgs);
5217 CmdArgs.push_back("-fno-builtin");
5236 CmdArgs.push_back(Args.MakeArgString("-fno-builtin-" + FuncName));
5241 CmdArgs.push_back("-fno-assume-sane-operator-new");
5249 CmdArgs.push_back("-fblocks");
5253 CmdArgs.push_back("-fblocks-runtime-optional");
5264 CmdArgs.push_back("-fmodules");
5273 CmdArgs.push_back("-fimplicit-module-maps");
5280 CmdArgs.push_back("-fmodules-decluse");
5287 CmdArgs.push_back("-fmodules-strict-decluse");
5293 CmdArgs.push_back("-fno-implicit-modules");
5315 CmdArgs.push_back(Args.MakeArgString(Path));
5320 Args.AddLastArg(CmdArgs, options::OPT_fmodule_name_EQ);
5324 Args.AddAllArgs(CmdArgs, options::OPT_fmodule_map_file);
5328 Args.AddAllArgs(CmdArgs, options::OPT_fmodule_file);
5341 CmdArgs.push_back("-module-dependency-dir");
5342 CmdArgs.push_back(Args.MakeArgString(VFSDir));
5346 Args.AddLastArg(CmdArgs, options::OPT_fmodules_user_build_path);
5349 Args.AddAllArgs(CmdArgs, options::OPT_fmodules_ignore_macro);
5350 Args.AddLastArg(CmdArgs, options::OPT_fmodules_prune_interval);
5351 Args.AddLastArg(CmdArgs, options::OPT_fmodules_prune_after);
5353 Args.AddLastArg(CmdArgs, options::OPT_fbuild_session_timestamp);
5363 CmdArgs.push_back(Args.MakeArgString(
5373 Args.AddLastArg(CmdArgs,
5377 Args.AddLastArg(CmdArgs, options::OPT_fmodules_validate_system_headers);
5382 CmdArgs.push_back("-fno-access-control");
5387 CmdArgs.push_back("-fno-elide-constructors");
5394 CmdArgs.push_back("-fno-rtti");
5399 CmdArgs.push_back("-fshort-enums");
5407 CmdArgs.push_back("-fno-signed-char");
5410 CmdArgs.push_back("-fno-signed-char");
5424 CmdArgs.push_back("-fno-use-cxa-atexit");
5429 CmdArgs.push_back("-fms-extensions");
5434 CmdArgs.push_back("-fuse-line-directives");
5442 CmdArgs.push_back("-fms-compatibility");
5448 CmdArgs.push_back(
5471 CmdArgs.push_back(LanguageStandard.data());
5477 CmdArgs.push_back("-fborland-extensions");
5482 CmdArgs.push_back("-fdeclspec");
5484 CmdArgs.push_back("-fno-declspec"); // Explicitly disabling __declspec.
5491 CmdArgs.push_back("-fno-threadsafe-statics");
5497 CmdArgs.push_back("-fdelayed-template-parsing");
5503 A->render(Args, CmdArgs);
5507 CmdArgs.push_back("-fgnu89-inline");
5510 CmdArgs.push_back("-fno-inline");
5515 InlineArg->render(Args, CmdArgs);
5517 ObjCRuntime objcRuntime = AddObjCRuntimeArgs(Args, CmdArgs, rewriteKind);
5529 CmdArgs.push_back("-fobjc-dispatch-method=mixed");
5531 CmdArgs.push_back("-fobjc-dispatch-method=non-legacy");
5543 CmdArgs.push_back("-fobjc-subscripting-legacy-runtime");
5547 CmdArgs.push_back("-fencode-extended-block-signature");
5556 CmdArgs.push_back("-fobjc-arc");
5563 CmdArgs.push_back("-fobjc-arc-cxxlib=libc++");
5565 CmdArgs.push_back("-fobjc-arc-cxxlib=libstdc++");
5573 CmdArgs.push_back("-fobjc-arc-exceptions");
5580 CmdArgs.push_back("-fno-objc-infer-related-result-type");
5591 GCArg->render(Args, CmdArgs);
5611 WeakArg->render(Args, CmdArgs);
5617 CmdArgs.push_back("-fapplication-extension");
5622 CmdArgs);
5626 CmdArgs.push_back("-fsjlj-exceptions");
5631 CmdArgs.push_back("-fno-assume-sane-operator-new");
5637 CmdArgs.push_back("-fsized-deallocation");
5645 CmdArgs.push_back("-fno-constant-cfstrings");
5651 A->render(Args, CmdArgs);
5656 CmdArgs.push_back("-fpascal-strings");
5663 CmdArgs.push_back(Args.MakeArgString(PackStructStr));
5666 CmdArgs.push_back("-fpack-struct=1");
5675 CmdArgs.push_back(Args.MakeArgString(MaxTypeAlignStr));
5680 CmdArgs.push_back(Args.MakeArgString(MaxTypeAlignStr));
5689 CmdArgs.push_back("-fno-common");
5722 CmdArgs.push_back("-fno-caret-diagnostics");
5727 CmdArgs.push_back("-fno-diagnostics-fixit-info");
5732 CmdArgs.push_back("-fdiagnostics-show-option");
5736 CmdArgs.push_back("-fdiagnostics-show-category");
5737 CmdArgs.push_back(A->getValue());
5741 CmdArgs.push_back("-fdiagnostics-format");
5742 CmdArgs.push_back(A->getValue());
5750 CmdArgs.push_back("-fdiagnostics-show-note-include-stack");
5752 CmdArgs.push_back("-fno-diagnostics-show-note-include-stack");
5776 CmdArgs.push_back("-fcolor-diagnostics");
5779 CmdArgs.push_back("-fansi-escape-codes");
5783 CmdArgs.push_back("-fno-show-source-location");
5787 CmdArgs.push_back("-fno-show-column");
5791 CmdArgs.push_back("-fno-spell-checking");
5796 CmdArgs.push_back("-fasm-blocks");
5801 CmdArgs.push_back("-fno-gnu-inline-asm");
5811 CmdArgs.push_back("-vectorize-loops");
5819 CmdArgs.push_back("-vectorize-slp");
5824 CmdArgs.push_back("-vectorize-slp-aggressive");
5827 A->render(Args, CmdArgs);
5831 A->render(Args, CmdArgs);
5838 CmdArgs.push_back("-fdollars-in-identifiers");
5840 CmdArgs.push_back("-fno-dollars-in-identifiers");
5853 CmdArgs.push_back("-fapple-pragma-pack");
5859 CmdArgs.push_back("-fno-math-builtin");
5870 CmdArgs.push_back("-fno-builtin-strcat");
5872 CmdArgs.push_back("-fno-builtin-strcpy");
5883 CmdArgs.push_back("-frewrite-includes");
5889 CmdArgs.push_back("-traditional-cpp");
5894 Args.AddLastArg(CmdArgs, options::OPT_dM);
5895 Args.AddLastArg(CmdArgs, options::OPT_dD);
5899 CmdArgs.push_back("-serialize-diagnostic-file");
5900 CmdArgs.push_back(Args.MakeArgString(A->getValue()));
5904 CmdArgs.push_back("-fretain-comments-from-system-headers");
5907 Args.AddAllArgs(CmdArgs, options::OPT_fcomment_block_commands);
5909 Args.AddAllArgs(CmdArgs, options::OPT_fparse_all_comments);
5913 CmdArgs.push_back("-load");
5914 CmdArgs.push_back(A->getValue());
5920 Args.AddAllArgValues(CmdArgs, options::OPT_Xclang);
5927 CmdArgs.push_back("-disable-llvm-optzns");
5929 A->render(Args, CmdArgs);
5942 CmdArgs.push_back("-disable-llvm-passes");
5947 CmdArgs.push_back("-o");
5948 CmdArgs.push_back(Output.getFilename());
5953 addDashXForInput(Args, Input, CmdArgs);
5956 CmdArgs.push_back(Input.getFilename());
5958 Input.getInputArg().renderAsInput(Args, CmdArgs);
5960 Args.AddAllArgs(CmdArgs, options::OPT_undef);
5979 CmdArgs.push_back("-dwarf-debug-flags");
5980 CmdArgs.push_back(Args.MakeArgString(Flags));
5990 CmdArgs.push_back("-split-dwarf-file");
5992 CmdArgs.push_back(SplitDwarfOut);
5999 CmdArgs.push_back("-fcuda-include-gpubinary");
6000 CmdArgs.push_back(I->getFilename());
6011 CmdArgs.push_back("-fwhole-program-vtables");
6021 JA, *this, Exec, CmdArgs
6027 CmdArgs, Inputs));
6029 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
6063 ArgStringList &cmdArgs,
6081 runtimeArg->render(args, cmdArgs);
6178 cmdArgs.push_back(
6245 ArgStringList &CmdArgs,
6262 CmdArgs.push_back("-D_DEBUG");
6263 CmdArgs.push_back("-D_MT");
6264 CmdArgs.push_back("-D_DLL");
6268 CmdArgs.push_back("-D_DEBUG");
6269 CmdArgs.push_back("-D_MT");
6270 CmdArgs.push_back("-D_DLL");
6275 CmdArgs.push_back("-D_DEBUG");
6276 CmdArgs.push_back("-D_MT");
6277 CmdArgs.push_back("-flto-visibility-public-std");
6281 CmdArgs.push_back("-D_DEBUG");
6282 CmdArgs.push_back("-D_MT");
6283 CmdArgs.push_back("-flto-visibility-public-std");
6291 CmdArgs.push_back("-D_VC_NODEFAULTLIB");
6293 CmdArgs.push_back(FlagForCRT.data());
6298 CmdArgs.push_back("--dependent-lib=oldnames");
6305 A->render(Args, CmdArgs);
6310 CmdArgs.push_back("-fno-rtti-data");
6316 CmdArgs.push_back("-stack-protector");
6317 CmdArgs.push_back(Args.MakeArgString(Twine(LangOptions::SSPStrong)));
6328 CmdArgs.push_back("-gcodeview");
6337 CmdArgs.push_back("-fcxx-exceptions");
6338 CmdArgs.push_back("-fexceptions");
6341 CmdArgs.push_back("-fexternc-nounwind");
6345 CmdArgs.push_back("-E");
6346 CmdArgs.push_back("-P");
6360 CmdArgs.push_back("-fms-volatile");
6381 CmdArgs.push_back("-fms-memptr-rep=single");
6383 CmdArgs.push_back("-fms-memptr-rep=multiple");
6385 CmdArgs.push_back("-fms-memptr-rep=virtual");
6389 CmdArgs.push_back("-fdefault-calling-conv=cdecl");
6391 CmdArgs.push_back("-fdefault-calling-conv=fastcall");
6393 CmdArgs.push_back("-fdefault-calling-conv=stdcall");
6395 CmdArgs.push_back("-fdefault-calling-conv=vectorcall");
6398 A->render(Args, CmdArgs);
6401 CmdArgs.push_back("-fdiagnostics-format");
6403 CmdArgs.push_back("msvc-fallback");
6405 CmdArgs.push_back("msvc");
6416 ArgStringList &CmdArgs) const {
6422 CmdArgs.push_back("-target-abi");
6423 CmdArgs.push_back(ABIName.data());
6430 ArgStringList CmdArgs;
6449 CmdArgs.push_back("-cc1as");
6452 CmdArgs.push_back("-triple");
6453 CmdArgs.push_back(Args.MakeArgString(TripleStr));
6457 CmdArgs.push_back("-filetype");
6458 CmdArgs.push_back("obj");
6462 CmdArgs.push_back("-main-file-name");
6463 CmdArgs.push_back(Clang::getBaseInputName(Args, Input));
6468 CmdArgs.push_back("-target-cpu");
6469 CmdArgs.push_back(Args.MakeArgString(CPU));
6473 getTargetFeatures(getToolChain(), Triple, Args, CmdArgs, true);
6479 Args.AddAllArgs(CmdArgs, options::OPT_I_Group);
6513 addDebugCompDirArg(Args, CmdArgs);
6517 CmdArgs.push_back("-dwarf-debug-producer");
6518 CmdArgs.push_back(Args.MakeArgString(getClangFullVersion()));
6521 Args.AddAllArgs(CmdArgs, options::OPT_I);
6523 RenderDebugEnablingArgs(Args, CmdArgs, DebugInfoKind, DwarfVersion,
6536 CmdArgs.push_back("-mrelocation-model");
6537 CmdArgs.push_back(RMName);
6556 CmdArgs.push_back("-dwarf-debug-flags");
6557 CmdArgs.push_back(Args.MakeArgString(Flags));
6571 AddMIPSTargetArgs(Args, CmdArgs);
6582 CollectArgsForIntegratedAssembler(C, Args, CmdArgs,
6585 Args.AddAllArgs(CmdArgs, options::OPT_mllvm);
6588 CmdArgs.push_back("-o");
6589 CmdArgs.push_back(Output.getFilename());
6592 CmdArgs.push_back(Input.getFilename());
6595 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
6613 ArgStringList CmdArgs;
6633 A->render(Args, CmdArgs);
6637 RenderExtraToolArgs(JA, CmdArgs);
6641 CmdArgs.push_back("-arch");
6642 CmdArgs.push_back(
6656 CmdArgs.push_back("-m32");
6661 CmdArgs.push_back("-m64");
6664 CmdArgs.push_back("-EL");
6669 CmdArgs.push_back("-o");
6670 CmdArgs.push_back(Output.getFilename());
6673 CmdArgs.push_back("-fsyntax-only");
6676 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
6698 CmdArgs.push_back("-x");
6699 CmdArgs.push_back(types::getTypeName(II.getType()));
6703 CmdArgs.push_back(II.getFilename());
6709 CmdArgs.push_back("-lstdc++");
6714 A.render(Args, CmdArgs);
6728 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
6732 ArgStringList &CmdArgs) const {
6733 CmdArgs.push_back("-E");
6737 ArgStringList &CmdArgs) const {
6746 CmdArgs.push_back("-c");
6751 CmdArgs.push_back("-c");
6754 CmdArgs.push_back("-S");
6757 CmdArgs.push_back("-fsyntax-only");
6765 ArgStringList &CmdArgs) const {
6771 ArgStringList &CmdArgs) const {
6783 ArgStringList CmdArgs;
6786 CmdArgs.push_back(Args.MakeArgString(MArchString));
6788 RenderExtraToolArgs(JA, CmdArgs);
6793 CmdArgs.push_back("-filetype=obj");
6794 CmdArgs.push_back(Args.MakeArgString(MCpuString));
6797 CmdArgs.push_back("-o");
6798 CmdArgs.push_back(Output.getFilename());
6801 CmdArgs.push_back("-fsyntax-only");
6806 CmdArgs.push_back(Args.MakeArgString(std::string("-gpsize=") + N));
6809 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
6832 CmdArgs.push_back(II.getFilename());
6836 II.getInputArg().render(Args, CmdArgs);
6840 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
6844 ArgStringList &CmdArgs) const {
6851 const ArgList &Args, ArgStringList &CmdArgs,
6881 CmdArgs.push_back("-s");
6884 CmdArgs.push_back("-r");
6887 CmdArgs.push_back(Opt.c_str());
6889 CmdArgs.push_back("-march=hexagon");
6893 CmdArgs.push_back(Args.MakeArgString(MCpuString));
6896 CmdArgs.push_back("-shared");
6898 CmdArgs.push_back("-call_shared");
6902 CmdArgs.push_back("-static");
6905 CmdArgs.push_back("-pie");
6909 CmdArgs.push_back(Args.MakeArgString(std::string("-G") + N));
6916 CmdArgs.push_back("-o");
6917 CmdArgs.push_back(Output.getFilename());
6958 CmdArgs.push_back(Args.MakeArgString(Crt0SA));
6961 CmdArgs.push_back(Args.MakeArgString(Crt0));
6966 CmdArgs.push_back(Args.MakeArgString(Init));
6974 CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + LibPath));
6979 Args.AddAllArgs(CmdArgs,
6983 AddLinkerInputs(HTC, Inputs, Args, CmdArgs);
6990 HTC.AddCXXStdlibLibArgs(Args, CmdArgs);
6991 CmdArgs.push_back("-lm");
6994 CmdArgs.push_back("--start-group");
6998 CmdArgs.push_back(Args.MakeArgString("-l" + Lib));
6999 CmdArgs.push_back("-lc");
7001 CmdArgs.push_back("-lgcc");
7003 CmdArgs.push_back("--end-group");
7013 CmdArgs.push_back(Args.MakeArgString(Fini));
7024 ArgStringList CmdArgs;
7025 constructHexagonLinkArgs(C, JA, HTC, Output, Inputs, Args, CmdArgs,
7030 CmdArgs, Inputs));
7041 ArgStringList CmdArgs;
7042 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
7043 CmdArgs.push_back("-shared");
7044 CmdArgs.push_back("-o");
7045 CmdArgs.push_back(Output.getFilename());
7047 CmdArgs, Inputs));
7071 ArgStringList CmdArgs;
7072 CmdArgs.push_back("-flavor");
7073 CmdArgs.push_back("ld");
7080 CmdArgs.push_back("--gc-sections");
7083 CmdArgs.push_back("-export-dynamic");
7085 CmdArgs.push_back("--strip-all");
7087 CmdArgs.push_back("-shared");
7089 CmdArgs.push_back("-Bstatic");
7091 Args.AddAllArgs(CmdArgs, options::OPT_L);
7092 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
7096 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("rcrt1.o")));
7098 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("Scrt1.o")));
7100 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt1.o")));
7102 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
7105 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
7109 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
7112 CmdArgs.push_back("-lpthread");
7114 CmdArgs.push_back("-lc");
7115 CmdArgs.push_back("-lcompiler_rt");
7119 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
7121 CmdArgs.push_back("-o");
7122 CmdArgs.push_back(Output.getFilename());
7124 C.addCommand(llvm::make_unique<Command>(JA, *this, Linker, CmdArgs, Inputs));
7208 void arm::appendEBLinkFlags(const ArgList &Args, ArgStringList &CmdArgs,
7216 CmdArgs.push_back("--be8");
7404 ArgStringList CmdArgs;
7415 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
7418 CmdArgs.push_back("-Bstatic");
7421 CmdArgs.push_back("-pie");
7422 CmdArgs.push_back("--no-dynamic-linker");
7423 CmdArgs.push_back("-zrelro");
7425 CmdArgs.push_back("--eh-frame-hdr");
7426 CmdArgs.push_back("--gc-sections");
7429 CmdArgs.push_back("-o");
7430 CmdArgs.push_back(Output.getFilename());
7436 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
7437 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtbegin.o")));
7440 Args.AddAllArgs(CmdArgs, options::OPT_L);
7441 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
7442 Args.AddAllArgs(CmdArgs,
7447 AddGoldPlugin(ToolChain, Args, CmdArgs, D.getLTOMode() == LTOK_Thin);
7449 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
7453 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
7454 CmdArgs.push_back("-lc");
7455 CmdArgs.push_back("-lcompiler_rt");
7459 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtend.o")));
7462 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
7470 ArgStringList CmdArgs;
7490 CmdArgs.push_back("-Q");
7497 CmdArgs.push_back("--gstabs");
7499 CmdArgs.push_back("-g");
7503 AddMachOArch(Args, CmdArgs);
7509 CmdArgs.push_back("-force_cpusubtype_ALL");
7516 CmdArgs.push_back("-static");
7518 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
7521 CmdArgs.push_back("-o");
7522 CmdArgs.push_back(Output.getFilename());
7525 CmdArgs.push_back(Input.getFilename());
7530 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
7536 ArgStringList &CmdArgs) const {
7540 CmdArgs.push_back("-arch");
7541 CmdArgs.push_back(Args.MakeArgString(ArchName));
7545 CmdArgs.push_back("-force_cpusubtype_ALL");
7560 ArgStringList &CmdArgs,
7574 CmdArgs.push_back("-demangle");
7577 CmdArgs.push_back("-export_dynamic");
7583 CmdArgs.push_back("-application_extension");
7593 CmdArgs.push_back("-object_path_lto");
7594 CmdArgs.push_back(TmpPath);
7607 CmdArgs.push_back("-lto_library");
7608 CmdArgs.push_back(C.getArgs().MakeArgString(LibLTOPath));
7616 Args.AddAllArgs(CmdArgs, options::OPT_static);
7618 CmdArgs.push_back("-dynamic");
7625 AddMachOArch(Args, CmdArgs);
7627 Args.AddLastArg(CmdArgs, options::OPT_force__cpusubtype__ALL);
7629 Args.AddLastArg(CmdArgs, options::OPT_bundle);
7630 Args.AddAllArgs(CmdArgs, options::OPT_bundle__loader);
7631 Args.AddAllArgs(CmdArgs, options::OPT_client__name);
7640 Args.AddLastArg(CmdArgs, options::OPT_force__flat__namespace);
7641 Args.AddLastArg(CmdArgs, options::OPT_keep__private__externs);
7642 Args.AddLastArg(CmdArgs, options::OPT_private__bundle);
7644 CmdArgs.push_back("-dylib");
7656 Args.AddAllArgsTranslated(CmdArgs, options::OPT_compatibility__version,
7658 Args.AddAllArgsTranslated(CmdArgs, options::OPT_current__version,
7661 AddMachOArch(Args, CmdArgs);
7663 Args.AddAllArgsTranslated(CmdArgs, options::OPT_install__name,
7667 Args.AddLastArg(CmdArgs, options::OPT_all__load);
7668 Args.AddAllArgs(CmdArgs, options::OPT_allowable__client);
7669 Args.AddLastArg(CmdArgs, options::OPT_bind__at__load);
7671 Args.AddLastArg(CmdArgs, options::OPT_arch__errors__fatal);
7672 Args.AddLastArg(CmdArgs, options::OPT_dead__strip);
7673 Args.AddLastArg(CmdArgs, options::OPT_no__dead__strip__inits__and__terms);
7674 Args.AddAllArgs(CmdArgs, options::OPT_dylib__file);
7675 Args.AddLastArg(CmdArgs, options::OPT_dynamic);
7676 Args.AddAllArgs(CmdArgs, options::OPT_exported__symbols__list);
7677 Args.AddLastArg(CmdArgs, options::OPT_flat__namespace);
7678 Args.AddAllArgs(CmdArgs, options::OPT_force__load);
7679 Args.AddAllArgs(CmdArgs, options::OPT_headerpad__max__install__names);
7680 Args.AddAllArgs(CmdArgs, options::OPT_image__base);
7681 Args.AddAllArgs(CmdArgs, options::OPT_init);
7684 MachOTC.addMinVersionArgs(Args, CmdArgs);
7686 Args.AddLastArg(CmdArgs, options::OPT_nomultidefs);
7687 Args.AddLastArg(CmdArgs, options::OPT_multi__module);
7688 Args.AddLastArg(CmdArgs, options::OPT_single__module);
7689 Args.AddAllArgs(CmdArgs, options::OPT_multiply__defined);
7690 Args.AddAllArgs(CmdArgs, options::OPT_multiply__defined__unused);
7697 CmdArgs.push_back("-pie");
7699 CmdArgs.push_back("-no_pie");
7706 CmdArgs.push_back("-bitcode_bundle");
7711 Args.AddLastArg(CmdArgs, options::OPT_prebind);
7712 Args.AddLastArg(CmdArgs, options::OPT_noprebind);
7713 Args.AddLastArg(CmdArgs, options::OPT_nofixprebinding);
7714 Args.AddLastArg(CmdArgs, options::OPT_prebind__all__twolevel__modules);
7715 Args.AddLastArg(CmdArgs, options::OPT_read__only__relocs);
7716 Args.AddAllArgs(CmdArgs, options::OPT_sectcreate);
7717 Args.AddAllArgs(CmdArgs, options::OPT_sectorder);
7718 Args.AddAllArgs(CmdArgs, options::OPT_seg1addr);
7719 Args.AddAllArgs(CmdArgs, options::OPT_segprot);
7720 Args.AddAllArgs(CmdArgs, options::OPT_segaddr);
7721 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__only__addr);
7722 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__write__addr);
7723 Args.AddAllArgs(CmdArgs, options::OPT_seg__addr__table);
7724 Args.AddAllArgs(CmdArgs, options::OPT_seg__addr__table__filename);
7725 Args.AddAllArgs(CmdArgs, options::OPT_sub__library);
7726 Args.AddAllArgs(CmdArgs, options::OPT_sub__umbrella);
7732 CmdArgs.push_back("-syslibroot");
7733 CmdArgs.push_back(C.getArgs().MakeArgString(sysroot));
7735 CmdArgs.push_back("-syslibroot");
7736 CmdArgs.push_back(A->getValue());
7739 Args.AddLastArg(CmdArgs, options::OPT_twolevel__namespace);
7740 Args.AddLastArg(CmdArgs, options::OPT_twolevel__namespace__hints);
7741 Args.AddAllArgs(CmdArgs, options::OPT_umbrella);
7742 Args.AddAllArgs(CmdArgs, options::OPT_undefined);
7743 Args.AddAllArgs(CmdArgs, options::OPT_unexported__symbols__list);
7744 Args.AddAllArgs(CmdArgs, options::OPT_weak__reference__mismatches);
7745 Args.AddLastArg(CmdArgs, options::OPT_X_Flag);
7746 Args.AddAllArgs(CmdArgs, options::OPT_y);
7747 Args.AddLastArg(CmdArgs, options::OPT_w);
7748 Args.AddAllArgs(CmdArgs, options::OPT_pagezero__size);
7749 Args.AddAllArgs(CmdArgs, options::OPT_segs__read__);
7750 Args.AddLastArg(CmdArgs, options::OPT_seglinkedit);
7751 Args.AddLastArg(CmdArgs, options::OPT_noseglinkedit);
7752 Args.AddAllArgs(CmdArgs, options::OPT_sectalign);
7753 Args.AddAllArgs(CmdArgs, options::OPT_sectobjectsymbols);
7754 Args.AddAllArgs(CmdArgs, options::OPT_segcreate);
7755 Args.AddLastArg(CmdArgs, options::OPT_whyload);
7756 Args.AddLastArg(CmdArgs, options::OPT_whatsloaded);
7757 Args.AddAllArgs(CmdArgs, options::OPT_dylinker__install__name);
7758 Args.AddLastArg(CmdArgs, options::OPT_dylinker);
7759 Args.AddLastArg(CmdArgs, options::OPT_Mach);
7778 ArgStringList CmdArgs;
7787 CmdArgs.push_back(Output.getFilename());
7788 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, None));
7794 AddLinkArgs(C, Args, CmdArgs, Inputs);
7798 Args.AddAllArgs(CmdArgs, {options::OPT_d_Flag, options::OPT_s, options::OPT_t,
7806 CmdArgs.push_back("-ObjC");
7808 CmdArgs.push_back("-o");
7809 CmdArgs.push_back(Output.getFilename());
7812 getMachOToolChain().addStartObjectFileArgs(Args, CmdArgs);
7818 getMachOToolChain().AddLinkRuntimeLib(Args, CmdArgs,
7823 Args.AddAllArgs(CmdArgs, options::OPT_L);
7825 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
7844 addOpenMPRuntime(CmdArgs, getToolChain(), Args);
7849 getMachOToolChain().AddLinkARCArgs(Args, CmdArgs);
7851 CmdArgs.push_back("-framework");
7852 CmdArgs.push_back("Foundation");
7854 CmdArgs.push_back("-lobjc");
7858 CmdArgs.push_back("-arch_multiple");
7859 CmdArgs.push_back("-final_output");
7860 CmdArgs.push_back(LinkingOutput);
7864 CmdArgs.push_back("-allow_stack_execute");
7866 getMachOToolChain().addProfileRTLibs(Args, CmdArgs);
7870 getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
7875 getMachOToolChain().AddLinkRuntimeLibArgs(Args, CmdArgs);
7882 Args.AddAllArgs(CmdArgs, options::OPT_T_Group);
7883 Args.AddAllArgs(CmdArgs, options::OPT_F);
7887 CmdArgs.push_back(Args.MakeArgString(std::string("-F") + A->getValue()));
7892 CmdArgs.push_back("-framework");
7893 CmdArgs.push_back("Accelerate");
7900 llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs);
7910 ArgStringList CmdArgs;
7912 CmdArgs.push_back("-create");
7915 CmdArgs.push_back("-output");
7916 CmdArgs.push_back(Output.getFilename());
7920 CmdArgs.push_back(II.getFilename());
7924 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
7932 ArgStringList CmdArgs;
7934 CmdArgs.push_back("-o");
7935 CmdArgs.push_back(Output.getFilename());
7940 CmdArgs.push_back(Input.getFilename());
7944 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
7952 ArgStringList CmdArgs;
7953 CmdArgs.push_back("--verify");
7954 CmdArgs.push_back("--debug-info");
7955 CmdArgs.push_back("--eh-frame");
7956 CmdArgs.push_back("--quiet");
7963 CmdArgs.push_back(Input.getFilename());
7967 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
7976 ArgStringList CmdArgs;
7978 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
7980 CmdArgs.push_back("-o");
7981 CmdArgs.push_back(Output.getFilename());
7984 CmdArgs.push_back(II.getFilename());
7987 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
7995 ArgStringList CmdArgs;
7998 CmdArgs.push_back("-C");
8001 CmdArgs.push_back("-e");
8002 CmdArgs.push_back("_start");
8006 CmdArgs.push_back("-Bstatic");
8007 CmdArgs.push_back("-dn");
8009 CmdArgs.push_back("-Bdynamic");
8011 CmdArgs.push_back("-shared");
8013 CmdArgs.push_back("--dynamic-linker");
8014 CmdArgs.push_back(
8020 CmdArgs.push_back("-o");
8021 CmdArgs.push_back(Output.getFilename());
8028 CmdArgs.push_back(
8031 CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
8032 CmdArgs.push_back(
8034 CmdArgs.push_back(
8038 getToolChain().AddFilePathLibArgs(Args, CmdArgs);
8040 Args.AddAllArgs(CmdArgs, {options::OPT_L, options::OPT_T_Group,
8043 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
8047 getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
8048 CmdArgs.push_back("-lgcc_s");
8049 CmdArgs.push_back("-lc");
8051 CmdArgs.push_back("-lgcc");
8052 CmdArgs.push_back("-lm");
8057 CmdArgs.push_back(
8060 CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
8062 getToolChain().addProfileRTLibs(Args, CmdArgs);
8065 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8074 ArgStringList CmdArgs;
8080 CmdArgs.push_back("--32");
8084 CmdArgs.push_back("-mppc");
8085 CmdArgs.push_back("-many");
8090 CmdArgs.push_back("-32");
8092 CmdArgs.push_back(getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
8093 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
8098 CmdArgs.push_back("-64");
8100 CmdArgs.push_back(getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
8101 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
8111 CmdArgs.push_back("-mabi");
8112 CmdArgs.push_back(getGnuCompatibleMipsABIName(ABIName).data());
8115 CmdArgs.push_back("-EB");
8117 CmdArgs.push_back("-EL");
8119 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
8127 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
8129 CmdArgs.push_back("-o");
8130 CmdArgs.push_back(Output.getFilename());
8133 CmdArgs.push_back(II.getFilename());
8136 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8145 ArgStringList CmdArgs;
8156 CmdArgs.push_back("-EB");
8158 CmdArgs.push_back("-EL");
8161 CmdArgs.push_back("-e");
8162 CmdArgs.push_back("__start");
8166 CmdArgs.push_back("-Bstatic");
8169 CmdArgs.push_back("-export-dynamic");
8170 CmdArgs.push_back("--eh-frame-hdr");
8171 CmdArgs.push_back("-Bdynamic");
8173 CmdArgs.push_back("-shared");
8175 CmdArgs.push_back("-dynamic-linker");
8176 CmdArgs.push_back("/usr/libexec/ld.so");
8181 CmdArgs.push_back("-nopie");
8184 CmdArgs.push_back("-o");
8185 CmdArgs.push_back(Output.getFilename());
8193 CmdArgs.push_back(
8196 CmdArgs.push_back(
8198 CmdArgs.push_back(
8201 CmdArgs.push_back(
8209 CmdArgs.push_back(
8212 Args.AddAllArgs(CmdArgs, {options::OPT_L, options::OPT_T_Group,
8216 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
8220 getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
8222 CmdArgs.push_back("-lm_p");
8224 CmdArgs.push_back("-lm");
8229 CmdArgs.push_back("-lgcc");
8233 CmdArgs.push_back("-lpthread_p");
8235 CmdArgs.push_back("-lpthread");
8240 CmdArgs.push_back("-lc_p");
8242 CmdArgs.push_back("-lc");
8245 CmdArgs.push_back("-lgcc");
8250 CmdArgs.push_back(
8253 CmdArgs.push_back(
8258 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8267 ArgStringList CmdArgs;
8269 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
8271 CmdArgs.push_back("-o");
8272 CmdArgs.push_back(Output.getFilename());
8275 CmdArgs.push_back(II.getFilename());
8278 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8287 ArgStringList CmdArgs;
8290 CmdArgs.push_back("-e");
8291 CmdArgs.push_back("__start");
8295 CmdArgs.push_back("-Bstatic");
8298 CmdArgs.push_back("-export-dynamic");
8299 CmdArgs.push_back("--eh-frame-hdr");
8300 CmdArgs.push_back("-Bdynamic");
8302 CmdArgs.push_back("-shared");
8304 CmdArgs.push_back("-dynamic-linker");
8305 CmdArgs.push_back("/usr/libexec/ld.so");
8310 CmdArgs.push_back("-o");
8311 CmdArgs.push_back(Output.getFilename());
8319 CmdArgs.push_back(
8322 CmdArgs.push_back(
8324 CmdArgs.push_back(
8327 CmdArgs.push_back(
8332 Args.AddAllArgs(CmdArgs,
8335 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
8339 getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
8341 CmdArgs.push_back("-lm_p");
8343 CmdArgs.push_back("-lm");
8348 CmdArgs.push_back("-lpthread_p");
8350 CmdArgs.push_back("-lpthread");
8355 CmdArgs.push_back("-lc_p");
8357 CmdArgs.push_back("-lc");
8374 CmdArgs.push_back(Args.MakeArgString("-lclang_rt." + MyArch));
8379 CmdArgs.push_back(
8382 CmdArgs.push_back(
8387 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8396 ArgStringList CmdArgs;
8404 CmdArgs.push_back("--32");
8407 CmdArgs.push_back("-a32");
8417 CmdArgs.push_back("-march");
8418 CmdArgs.push_back(CPUName.data());
8420 CmdArgs.push_back("-mabi");
8421 CmdArgs.push_back(getGnuCompatibleMipsABIName(ABIName).data());
8425 CmdArgs.push_back("-EB");
8427 CmdArgs.push_back("-EL");
8431 CmdArgs.push_back(Args.MakeArgString("-G" + v));
8435 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
8445 CmdArgs.push_back("-mfpu=vfp");
8447 CmdArgs.push_back("-mfpu=softvfp");
8453 CmdArgs.push_back("-meabi=5");
8457 CmdArgs.push_back("-matpcs");
8465 CmdArgs.push_back(getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
8466 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
8471 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
8473 CmdArgs.push_back("-o");
8474 CmdArgs.push_back(Output.getFilename());
8477 CmdArgs.push_back(II.getFilename());
8480 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8495 ArgStringList CmdArgs;
8506 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
8509 CmdArgs.push_back("-pie");
8511 CmdArgs.push_back("--eh-frame-hdr");
8513 CmdArgs.push_back("-Bstatic");
8516 CmdArgs.push_back("-export-dynamic");
8518 CmdArgs.push_back("-Bshareable");
8520 CmdArgs.push_back("-dynamic-linker");
8521 CmdArgs.push_back("/libexec/ld-elf.so.1");
8526 CmdArgs.push_back("--hash-style=both");
8529 CmdArgs.push_back("--enable-new-dtags");
8535 CmdArgs.push_back("-m");
8536 CmdArgs.push_back("elf_i386_fbsd");
8540 CmdArgs.push_back("-m");
8541 CmdArgs.push_back("elf32ppc_fbsd");
8550 CmdArgs.push_back(Args.MakeArgString("-G" + v));
8556 CmdArgs.push_back("-o");
8557 CmdArgs.push_back(Output.getFilename());
8573 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
8575 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
8585 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
8588 Args.AddAllArgs(CmdArgs, options::OPT_L);
8589 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
8590 Args.AddAllArgs(CmdArgs, options::OPT_T_Group);
8591 Args.AddAllArgs(CmdArgs, options::OPT_e);
8592 Args.AddAllArgs(CmdArgs, options::OPT_s);
8593 Args.AddAllArgs(CmdArgs, options::OPT_t);
8594 Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag);
8595 Args.AddAllArgs(CmdArgs, options::OPT_r);
8598 AddGoldPlugin(ToolChain, Args, CmdArgs, D.getLTOMode() == LTOK_Thin);
8600 bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
8601 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
8604 addOpenMPRuntime(CmdArgs, ToolChain, Args);
8606 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
8608 CmdArgs.push_back("-lm_p");
8610 CmdArgs.push_back("-lm");
8613 linkSanitizerRuntimeDeps(ToolChain, CmdArgs);
8617 CmdArgs.push_back("-lgcc_p");
8619 CmdArgs.push_back("-lgcc");
8621 CmdArgs.push_back("-lgcc_eh");
8623 CmdArgs.push_back("-lgcc_eh_p");
8625 CmdArgs.push_back("--as-needed");
8626 CmdArgs.push_back("-lgcc_s");
8627 CmdArgs.push_back("--no-as-needed");
8632 CmdArgs.push_back("-lpthread_p");
8634 CmdArgs.push_back("-lpthread");
8639 CmdArgs.push_back("-lc");
8641 CmdArgs.push_back("-lc_p");
8642 CmdArgs.push_back("-lgcc_p");
8644 CmdArgs.push_back("-lc");
8645 CmdArgs.push_back("-lgcc");
8649 CmdArgs.push_back("-lgcc_eh");
8651 CmdArgs.push_back("-lgcc_eh_p");
8653 CmdArgs.push_back("--as-needed");
8654 CmdArgs.push_back("-lgcc_s");
8655 CmdArgs.push_back("--no-as-needed");
8661 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtendS.o")));
8663 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtend.o")));
8664 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
8667 ToolChain.addProfileRTLibs(Args, CmdArgs);
8670 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8679 ArgStringList CmdArgs;
8685 CmdArgs.push_back("--32");
8695 CmdArgs.push_back(Args.MakeArgString("-mcpu=" + Arch));
8707 CmdArgs.push_back("-march");
8708 CmdArgs.push_back(CPUName.data());
8710 CmdArgs.push_back("-mabi");
8711 CmdArgs.push_back(getGnuCompatibleMipsABIName(ABIName).data());
8715 CmdArgs.push_back("-EB");
8717 CmdArgs.push_back("-EL");
8719 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
8725 CmdArgs.push_back("-32");
8727 CmdArgs.push_back(getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
8728 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
8733 CmdArgs.push_back("-64");
8735 CmdArgs.push_back(getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
8736 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
8744 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
8746 CmdArgs.push_back("-o");
8747 CmdArgs.push_back(Output.getFilename());
8750 CmdArgs.push_back(II.getFilename());
8753 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8762 ArgStringList CmdArgs;
8765 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
8767 CmdArgs.push_back("--eh-frame-hdr");
8769 CmdArgs.push_back("-Bstatic");
8772 CmdArgs.push_back("-export-dynamic");
8774 CmdArgs.push_back("-Bshareable");
8776 Args.AddAllArgs(CmdArgs, options::OPT_pie);
8777 CmdArgs.push_back("-dynamic-linker");
8778 CmdArgs.push_back("/libexec/ld.elf_so");
8786 CmdArgs.push_back("-m");
8787 CmdArgs.push_back("elf_i386");
8791 CmdArgs.push_back("-m");
8795 CmdArgs.push_back("armelf_nbsd_eabi");
8799 CmdArgs.push_back("armelf_nbsd_eabihf");
8802 CmdArgs.push_back("armelf_nbsd");
8809 Args, CmdArgs,
8811 CmdArgs.push_back("-m");
8815 CmdArgs.push_back("armelfb_nbsd_eabi");
8819 CmdArgs.push_back("armelfb_nbsd_eabihf");
8822 CmdArgs.push_back("armelfb_nbsd");
8829 CmdArgs.push_back("-m");
8831 CmdArgs.push_back("elf32btsmip");
8833 CmdArgs.push_back("elf32ltsmip");
8835 CmdArgs.push_back("-m");
8837 CmdArgs.push_back("elf64btsmip");
8839 CmdArgs.push_back("elf64ltsmip");
8843 CmdArgs.push_back("-m");
8844 CmdArgs.push_back("elf32ppc_nbsd");
8849 CmdArgs.push_back("-m");
8850 CmdArgs.push_back("elf64ppc");
8854 CmdArgs.push_back("-m");
8855 CmdArgs.push_back("elf32_sparc");
8859 CmdArgs.push_back("-m");
8860 CmdArgs.push_back("elf64_sparc");
8868 CmdArgs.push_back("-o");
8869 CmdArgs.push_back(Output.getFilename());
8876 CmdArgs.push_back(
8879 CmdArgs.push_back(
8882 CmdArgs.push_back(
8885 CmdArgs.push_back(
8890 Args.AddAllArgs(CmdArgs, options::OPT_L);
8891 Args.AddAllArgs(CmdArgs, options::OPT_T_Group);
8892 Args.AddAllArgs(CmdArgs, options::OPT_e);
8893 Args.AddAllArgs(CmdArgs, options::OPT_s);
8894 Args.AddAllArgs(CmdArgs, options::OPT_t);
8895 Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag);
8896 Args.AddAllArgs(CmdArgs, options::OPT_r);
8898 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
8925 addOpenMPRuntime(CmdArgs, getToolChain(), Args);
8927 getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
8928 CmdArgs.push_back("-lm");
8931 CmdArgs.push_back("-lpthread");
8932 CmdArgs.push_back("-lc");
8939 CmdArgs.push_back("-lgcc_eh");
8940 CmdArgs.push_back("-lc");
8941 CmdArgs.push_back("-lgcc");
8943 CmdArgs.push_back("-lgcc");
8944 CmdArgs.push_back("--as-needed");
8945 CmdArgs.push_back("-lgcc_s");
8946 CmdArgs.push_back("--no-as-needed");
8953 CmdArgs.push_back(
8956 CmdArgs.push_back(
8958 CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
8961 getToolChain().addProfileRTLibs(Args, CmdArgs);
8964 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
8977 ArgStringList CmdArgs;
8991 CmdArgs.push_back("--32");
8995 CmdArgs.push_back("--x32");
8997 CmdArgs.push_back("--64");
9000 CmdArgs.push_back("-a32");
9001 CmdArgs.push_back("-mppc");
9002 CmdArgs.push_back("-many");
9005 CmdArgs.push_back("-a64");
9006 CmdArgs.push_back("-mppc64");
9007 CmdArgs.push_back("-many");
9010 CmdArgs.push_back("-a64");
9011 CmdArgs.push_back("-mppc64");
9012 CmdArgs.push_back("-many");
9013 CmdArgs.push_back("-mlittle-endian");
9017 CmdArgs.push_back("-32");
9019 CmdArgs.push_back(getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
9020 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
9024 CmdArgs.push_back("-64");
9026 CmdArgs.push_back(getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
9027 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
9037 CmdArgs.push_back("-mfpu=neon");
9040 CmdArgs.push_back("-mfpu=crypto-neon-fp-armv8");
9049 CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=soft"));
9052 CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=softfp"));
9055 CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=hard"));
9059 Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
9067 CmdArgs.push_back("-mcpu=cortex-a15");
9069 Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ);
9070 Args.AddLastArg(CmdArgs, options::OPT_mfpu_EQ);
9082 CmdArgs.push_back("-march");
9083 CmdArgs.push_back(CPUName.data());
9085 CmdArgs.push_back("-mabi");
9086 CmdArgs.push_back(ABIName.data());
9091 CmdArgs.push_back("-mno-shared");
9095 CmdArgs.push_back(ABIName == "64" ? "-KPIC" : "-call_nonpic");
9099 CmdArgs.push_back("-EB");
9101 CmdArgs.push_back("-EL");
9105 CmdArgs.push_back(Args.MakeArgString("-mnan=2008"));
9112 A->render(Args, CmdArgs);
9116 CmdArgs.push_back("-mfpxx");
9124 A->render(Args, CmdArgs);
9127 CmdArgs.push_back("-no-mips16");
9131 Args.AddLastArg(CmdArgs, options::OPT_mmicromips,
9133 Args.AddLastArg(CmdArgs, options::OPT_mdsp, options::OPT_mno_dsp);
9134 Args.AddLastArg(CmdArgs, options::OPT_mdspr2, options::OPT_mno_dspr2);
9140 CmdArgs.push_back(Args.MakeArgString("-mmsa"));
9143 Args.AddLastArg(CmdArgs, options::OPT_mhard_float,
9146 Args.AddLastArg(CmdArgs, options::OPT_mdouble_float,
9149 Args.AddLastArg(CmdArgs, options::OPT_modd_spreg,
9152 AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
9159 CmdArgs.push_back(Args.MakeArgString("-march=" + CPUName));
9164 Args.AddAllArgs(CmdArgs, options::OPT_I);
9165 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
9167 CmdArgs.push_back("-o");
9168 CmdArgs.push_back(Output.getFilename());
9171 CmdArgs.push_back(II.getFilename());
9174 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
9186 ArgStringList &CmdArgs, const ArgList &Args) {
9193 CmdArgs.push_back("-lgcc");
9197 CmdArgs.push_back("-lgcc");
9200 CmdArgs.push_back("--as-needed");
9201 CmdArgs.push_back("-lgcc_s");
9203 CmdArgs.push_back("--no-as-needed");
9207 CmdArgs.push_back("-lgcc_eh");
9209 CmdArgs.push_back("-lgcc");
9217 CmdArgs.push_back("-ldl");
9221 ArgStringList &CmdArgs, const ArgList &Args) {
9232 addClangRT(TC, Args, CmdArgs);
9246 AddLibgcc(TC.getTriple(), D, CmdArgs, Args);
9323 ArgStringList CmdArgs;
9335 CmdArgs.push_back("-flavor");
9336 CmdArgs.push_back("old-gnu");
9337 CmdArgs.push_back("-target");
9338 CmdArgs.push_back(Args.MakeArgString(getToolChain().getTripleString()));
9342 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
9345 CmdArgs.push_back("-pie");
9348 CmdArgs.push_back("-export-dynamic");
9351 CmdArgs.push_back("-s");
9354 arm::appendEBLinkFlags(Args, CmdArgs, Triple);
9357 CmdArgs.push_back(Opt.c_str());
9360 CmdArgs.push_back("--eh-frame-hdr");
9363 CmdArgs.push_back("-m");
9364 CmdArgs.push_back(getLDMOption(ToolChain.getTriple(), Args));
9369 CmdArgs.push_back("-Bstatic");
9371 CmdArgs.push_back("-static");
9373 CmdArgs.push_back("-shared");
9378 CmdArgs.push_back("-export-dynamic");
9383 CmdArgs.push_back("-dynamic-linker");
9384 CmdArgs.push_back(Args.MakeArgString(Loader));
9388 CmdArgs.push_back("-o");
9389 CmdArgs.push_back(Output.getFilename());
9403 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
9405 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
9409 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
9422 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
9426 ToolChain.AddFastMathRuntimeIfAvailable(Args, CmdArgs);
9429 Args.AddAllArgs(CmdArgs, options::OPT_L);
9430 Args.AddAllArgs(CmdArgs, options::OPT_u);
9432 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
9435 AddGoldPlugin(ToolChain, Args, CmdArgs, D.getLTOMode() == LTOK_Thin);
9438 CmdArgs.push_back("--no-demangle");
9440 bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
9441 bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
9442 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
9444 getToolChain().addProfileRTLibs(Args, CmdArgs);
9451 CmdArgs.push_back("-Bstatic");
9452 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
9454 CmdArgs.push_back("-Bdynamic");
9455 CmdArgs.push_back("-lm");
9463 CmdArgs.push_back("--start-group");
9466 linkSanitizerRuntimeDeps(ToolChain, CmdArgs);
9469 linkXRayRuntimeDeps(ToolChain, Args, CmdArgs);
9483 CmdArgs.push_back("-lomp");
9486 CmdArgs.push_back("-lgomp");
9490 CmdArgs.push_back("-lrt");
9493 CmdArgs.push_back("-liomp5");
9501 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
9504 CmdArgs.push_back("-lpthread");
9507 CmdArgs.push_back("--wrap=pthread_create");
9509 CmdArgs.push_back("-lc");
9513 CmdArgs.push_back("-lgloss");
9516 CmdArgs.push_back("--end-group");
9518 AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
9522 CmdArgs.push_back("--as-needed");
9523 CmdArgs.push_back("-lsoftfp");
9524 CmdArgs.push_back("--no-as-needed");
9538 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend)));
9540 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
9544 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
9584 ArgStringList CmdArgs;
9595 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
9598 CmdArgs.push_back("-export-dynamic");
9601 CmdArgs.push_back("-s");
9605 CmdArgs.push_back("--build-id");
9608 CmdArgs.push_back("--eh-frame-hdr");
9610 CmdArgs.push_back("-m");
9612 CmdArgs.push_back("elf_i386_nacl");
9614 CmdArgs.push_back("armelf_nacl");
9616 CmdArgs.push_back("elf_x86_64_nacl");
9618 CmdArgs.push_back("mipselelf_nacl");
9624 CmdArgs.push_back("-static");
9626 CmdArgs.push_back("-shared");
9628 CmdArgs.push_back("-o");
9629 CmdArgs.push_back(Output.getFilename());
9632 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt1.o")));
9633 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
9642 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
9645 Args.AddAllArgs(CmdArgs, options::OPT_L);
9646 Args.AddAllArgs(CmdArgs, options::OPT_u);
9648 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
9651 CmdArgs.push_back("--no-demangle");
9653 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
9660 CmdArgs.push_back("-Bstatic");
9661 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
9663 CmdArgs.push_back("-Bdynamic");
9664 CmdArgs.push_back("-lm");
9670 CmdArgs.push_back("--start-group");
9671 CmdArgs.push_back("-lc");
9681 CmdArgs.push_back("-lnacl");
9683 CmdArgs.push_back("-lpthread");
9686 CmdArgs.push_back("-lgcc");
9687 CmdArgs.push_back("--as-needed");
9689 CmdArgs.push_back("-lgcc_eh");
9691 CmdArgs.push_back("-lgcc_s");
9692 CmdArgs.push_back("--no-as-needed");
9698 CmdArgs.push_back("-lpnacl_legacy");
9700 CmdArgs.push_back("--end-group");
9710 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend)));
9711 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
9716 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
9725 ArgStringList CmdArgs;
9727 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
9729 CmdArgs.push_back("-o");
9730 CmdArgs.push_back(Output.getFilename());
9733 CmdArgs.push_back(II.getFilename());
9736 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
9745 ArgStringList CmdArgs;
9748 CmdArgs.push_back("-o");
9749 CmdArgs.push_back(Output.getFilename());
9755 CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crt1.o")));
9756 CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
9757 CmdArgs.push_back(
9759 CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
9762 Args.AddAllArgs(CmdArgs,
9765 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
9767 getToolChain().addProfileRTLibs(Args, CmdArgs);
9771 getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
9772 CmdArgs.push_back("-lm");
9778 CmdArgs.push_back("-lpthread");
9779 CmdArgs.push_back("-lc");
9780 CmdArgs.push_back("-lCompilerRT-Generic");
9781 CmdArgs.push_back("-L/usr/pkg/compiler-rt/lib");
9782 CmdArgs.push_back(
9787 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
9800 ArgStringList CmdArgs;
9805 CmdArgs.push_back("--32");
9807 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
9809 CmdArgs.push_back("-o");
9810 CmdArgs.push_back(Output.getFilename());
9813 CmdArgs.push_back(II.getFilename());
9816 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
9825 ArgStringList CmdArgs;
9828 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
9830 CmdArgs.push_back("--eh-frame-hdr");
9832 CmdArgs.push_back("-Bstatic");
9835 CmdArgs.push_back("-export-dynamic");
9837 CmdArgs.push_back("-Bshareable");
9839 CmdArgs.push_back("-dynamic-linker");
9840 CmdArgs.push_back("/usr/libexec/ld-elf.so.2");
9842 CmdArgs.push_back("--hash-style=gnu");
9843 CmdArgs.push_back("--enable-new-dtags");
9849 CmdArgs.push_back("-m");
9850 CmdArgs.push_back("elf_i386");
9854 CmdArgs.push_back("-o");
9855 CmdArgs.push_back(Output.getFilename());
9863 CmdArgs.push_back(
9867 CmdArgs.push_back(
9870 CmdArgs.push_back(
9874 CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crti.o")));
9876 CmdArgs.push_back(
9879 CmdArgs.push_back(
9883 Args.AddAllArgs(CmdArgs,
9886 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
9889 CmdArgs.push_back("-L/usr/lib/gcc50");
9892 CmdArgs.push_back("-rpath");
9893 CmdArgs.push_back("/usr/lib/gcc50");
9897 getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
9898 CmdArgs.push_back("-lm");
9902 CmdArgs.push_back("-lpthread");
9905 CmdArgs.push_back("-lc");
9910 CmdArgs.push_back("-lgcc");
9911 CmdArgs.push_back("-lgcc_eh");
9914 CmdArgs.push_back("-lgcc_pic");
9916 CmdArgs.push_back("-lgcc");
9918 CmdArgs.push_back("-lgcc");
9919 CmdArgs.push_back("--as-needed");
9920 CmdArgs.push_back("-lgcc_pic");
9921 CmdArgs.push_back("--no-as-needed");
9928 CmdArgs.push_back(
9931 CmdArgs.push_back(
9933 CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath("crtn.o")));
9936 getToolChain().addProfileRTLibs(Args, CmdArgs);
9939 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
9967 ArgStringList CmdArgs;
9972 CmdArgs.push_back(
9977 CmdArgs.push_back("-defaultlib:libcmt");
10002 CmdArgs.push_back(
10008 CmdArgs.push_back(Args.MakeArgString(std::string("-libpath:") +
10015 CmdArgs.push_back(Args.MakeArgString(std::string("-libpath:") +
10021 CmdArgs.push_back(Args.MakeArgString("-libpath:" + LibPath));
10023 CmdArgs.push_back("-nologo");
10027 CmdArgs.push_back("-debug");
10032 CmdArgs.push_back(Args.MakeArgString("-dll"));
10036 CmdArgs.push_back(Args.MakeArgString(std::string("-implib:") + ImplibName));
10040 CmdArgs.push_back(Args.MakeArgString("-debug"));
10041 CmdArgs.push_back(Args.MakeArgString("-incremental:no"));
10044 CmdArgs.push_back(TC.getCompilerRTArgString(Args, Lib));
10047 CmdArgs.push_back(Args.MakeArgString("-include:___asan_seh_interceptor"));
10049 CmdArgs.push_back(TC.getCompilerRTArgString(Args, "asan_dll_thunk"));
10052 CmdArgs.push_back(TC.getCompilerRTArgString(Args, Lib));
10056 Args.AddAllArgValues(CmdArgs, options::OPT__SLASH_link);
10060 CmdArgs.push_back("-nodefaultlib:vcomp.lib");
10061 CmdArgs.push_back("-nodefaultlib:vcompd.lib");
10062 CmdArgs.push_back(Args.MakeArgString(std::string("-libpath:") +
10066 CmdArgs.push_back("-defaultlib:libomp.lib");
10069 CmdArgs.push_back("-defaultlib:libiomp5md.lib");
10082 AddRunTimeLibs(TC, TC.getDriver(), CmdArgs, Args);
10088 CmdArgs.push_back(Input.getFilename());
10102 CmdArgs.push_back(LinkLibArg);
10108 A.renderAsInput(Args, CmdArgs);
10111 TC.addProfileRTLibs(Args, CmdArgs);
10134 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
10149 ArgStringList CmdArgs;
10150 CmdArgs.push_back("/nologo");
10151 CmdArgs.push_back("/c"); // Compile only.
10152 CmdArgs.push_back("/W0"); // No warnings.
10158 Args.AddAllArgs(CmdArgs, {options::OPT_D, options::OPT_U, options::OPT_I});
10162 CmdArgs.push_back(A->getOption().getID() == options::OPT_fbuiltin ? "/Oi"
10166 CmdArgs.push_back("/Od");
10168 CmdArgs.push_back("/Og");
10172 CmdArgs.push_back("/Os");
10174 CmdArgs.push_back("/Ot");
10176 CmdArgs.push_back("/Ob2");
10181 CmdArgs.push_back(A->getOption().getID() == options::OPT_fomit_frame_pointer
10185 CmdArgs.push_back("/GF");
10192 CmdArgs.push_back("/GR-");
10196 CmdArgs.push_back("/GS-");
10200 CmdArgs.push_back(A->getOption().getID() == options::OPT_ffunction_sections
10205 CmdArgs.push_back(
10208 CmdArgs.push_back("/Zs");
10211 CmdArgs.push_back("/Z7");
10216 CmdArgs.push_back(Args.MakeArgString(std::string("/FI") + Include));
10219 Args.AddAllArgs(CmdArgs, options::OPT__SLASH_LD);
10220 Args.AddAllArgs(CmdArgs, options::OPT__SLASH_LDd);
10221 Args.AddAllArgs(CmdArgs, options::OPT__SLASH_GX);
10222 Args.AddAllArgs(CmdArgs, options::OPT__SLASH_GX_);
10223 Args.AddAllArgs(CmdArgs, options::OPT__SLASH_EH);
10224 Args.AddAllArgs(CmdArgs, options::OPT__SLASH_Zl);
10229 A->render(Args, CmdArgs);
10233 Args.AddAllArgs(CmdArgs, options::OPT_UNKNOWN);
10239 CmdArgs.push_back(II.getType() == types::TY_C ? "/Tc" : "/Tp");
10241 CmdArgs.push_back(II.getFilename());
10243 II.getInputArg().renderAsInput(Args, CmdArgs);
10249 CmdArgs.push_back(Fo);
10255 CmdArgs, Inputs);
10265 ArgStringList CmdArgs;
10268 CmdArgs.push_back("--32");
10270 CmdArgs.push_back("--64");
10273 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
10275 CmdArgs.push_back("-o");
10276 CmdArgs.push_back(Output.getFilename());
10279 CmdArgs.push_back(II.getFilename());
10282 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
10290 ArgStringList &CmdArgs) const {
10292 CmdArgs.push_back("-lmingwthrd");
10293 CmdArgs.push_back("-lmingw32");
10304 CmdArgs.push_back("-lgcc");
10305 CmdArgs.push_back("-lgcc_eh");
10307 CmdArgs.push_back("-lgcc_s");
10308 CmdArgs.push_back("-lgcc");
10311 AddRunTimeLibs(getToolChain(), getToolChain().getDriver(), CmdArgs, Args);
10314 CmdArgs.push_back("-lmoldname");
10315 CmdArgs.push_back("-lmingwex");
10316 CmdArgs.push_back("-lmsvcrt");
10328 ArgStringList CmdArgs;
10340 CmdArgs.push_back("-flavor");
10341 CmdArgs.push_back("gnu");
10347 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
10350 CmdArgs.push_back("-s");
10352 CmdArgs.push_back("-m");
10354 CmdArgs.push_back("i386pe");
10356 CmdArgs.push_back("i386pep");
10358 CmdArgs.push_back("thumb2pe");
10361 CmdArgs.push_back("--subsystem");
10362 CmdArgs.push_back("windows");
10364 CmdArgs.push_back("--subsystem");
10365 CmdArgs.push_back("console");
10369 CmdArgs.push_back("-Bstatic");
10372 CmdArgs.push_back("--dll");
10374 CmdArgs.push_back("--shared");
10375 CmdArgs.push_back("-Bdynamic");
10377 CmdArgs.push_back("-e");
10379 CmdArgs.push_back("_DllMainCRTStartup@12");
10381 CmdArgs.push_back("DllMainCRTStartup");
10382 CmdArgs.push_back("--enable-auto-image-base");
10386 CmdArgs.push_back("-o");
10387 CmdArgs.push_back(Output.getFilename());
10389 Args.AddAllArgs(CmdArgs, options::OPT_e);
10391 Args.AddLastArg(CmdArgs, options::OPT_r);
10392 Args.AddLastArg(CmdArgs, options::OPT_s);
10393 Args.AddLastArg(CmdArgs, options::OPT_t);
10394 Args.AddAllArgs(CmdArgs, options::OPT_u_Group);
10395 Args.AddLastArg(CmdArgs, options::OPT_Z_Flag);
10399 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("dllcrt2.o")));
10402 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crt2u.o")));
10404 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crt2.o")));
10407 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("gcrt2.o")));
10408 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crtbegin.o")));
10411 Args.AddAllArgs(CmdArgs, options::OPT_L);
10412 TC.AddFilePathLibArgs(Args, CmdArgs);
10413 AddLinkerInputs(TC, Inputs, Args, CmdArgs);
10424 CmdArgs.push_back("-Bstatic");
10425 TC.AddCXXStdlibLibArgs(Args, CmdArgs);
10427 CmdArgs.push_back("-Bdynamic");
10433 CmdArgs.push_back("--start-group");
10438 CmdArgs.push_back("-lssp_nonshared");
10439 CmdArgs.push_back("-lssp");
10442 CmdArgs.push_back("-lgomp");
10444 AddLibGCC(Args, CmdArgs);
10447 CmdArgs.push_back("-lgmon");
10450 CmdArgs.push_back("-lpthread");
10454 CmdArgs.push_back("-lgdi32");
10455 CmdArgs.push_back("-lcomdlg32");
10457 CmdArgs.push_back("-ladvapi32");
10458 CmdArgs.push_back("-lshell32");
10459 CmdArgs.push_back("-luser32");
10460 CmdArgs.push_back("-lkernel32");
10463 CmdArgs.push_back("--end-group");
10465 AddLibGCC(Args, CmdArgs);
10470 TC.AddFastMathRuntimeIfAvailable(Args, CmdArgs);
10472 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crtend.o")));
10476 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
10488 ArgStringList CmdArgs;
10490 CmdArgs.push_back("-o");
10491 CmdArgs.push_back(Output.getFilename());
10493 CmdArgs.push_back("-c");
10496 CmdArgs.push_back("-v");
10500 CmdArgs.push_back("-g");
10504 CmdArgs.push_back("-fverbose-asm");
10506 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
10509 CmdArgs.push_back(II.getFilename());
10512 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
10520 ArgStringList CmdArgs;
10523 CmdArgs.push_back("-o");
10524 CmdArgs.push_back(Output.getFilename());
10530 CmdArgs.push_back("-v");
10535 CmdArgs.push_back("-fexceptions");
10537 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
10540 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
10551 ArgStringList CmdArgs;
10561 CmdArgs.push_back("--32");
10564 CmdArgs.push_back("--64");
10568 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
10570 CmdArgs.push_back("-o");
10571 CmdArgs.push_back(Output.getFilename());
10574 CmdArgs.push_back(Input.getFilename());
10579 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
10592 ArgStringList CmdArgs;
10604 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
10607 CmdArgs.push_back("-pie");
10609 CmdArgs.push_back("-export-dynamic");
10611 CmdArgs.push_back("--strip-all");
10613 CmdArgs.push_back("-m");
10620 CmdArgs.push_back("thumb2pe");
10623 CmdArgs.push_back("i386pe");
10627 CmdArgs.push_back("i386pep");
10645 CmdArgs.push_back("-shared");
10646 CmdArgs.push_back("-Bdynamic");
10648 CmdArgs.push_back("--enable-auto-image-base");
10650 CmdArgs.push_back("--entry");
10651 CmdArgs.push_back(Args.MakeArgString(EntryPoint));
10655 CmdArgs.push_back(Args.hasArg(options::OPT_static) ? "-Bstatic"
10659 CmdArgs.push_back("--entry");
10660 CmdArgs.push_back(Args.MakeArgString(EntryPoint));
10667 CmdArgs.push_back("--allow-multiple-definition");
10669 CmdArgs.push_back("-o");
10670 CmdArgs.push_back(Output.getFilename());
10676 CmdArgs.push_back("--out-implib");
10677 CmdArgs.push_back(Args.MakeArgString(ImpLib));
10686 CmdArgs.push_back(Args.MakeArgString(CRTPath + CRTBegin));
10689 Args.AddAllArgs(CmdArgs, options::OPT_L);
10690 TC.AddFilePathLibArgs(Args, CmdArgs);
10691 AddLinkerInputs(TC, Inputs, Args, CmdArgs);
10698 CmdArgs.push_back("-Bstatic");
10699 TC.AddCXXStdlibLibArgs(Args, CmdArgs);
10701 CmdArgs.push_back("-Bdynamic");
10707 CmdArgs.push_back("-lmsvcrt");
10708 AddRunTimeLibs(TC, D, CmdArgs, Args);
10715 CmdArgs.push_back(TC.getCompilerRTArgString(Args, "asan_dll_thunk"));
10718 CmdArgs.push_back(TC.getCompilerRTArgString(Args, Lib));
10721 CmdArgs.push_back(Args.MakeArgString("--undefined"));
10722 CmdArgs.push_back(Args.MakeArgString(TC.getArch() == llvm::Triple::x86
10730 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
10738 ArgStringList CmdArgs;
10746 CmdArgs.push_back("-E");
10749 CmdArgs.push_back("-S");
10750 CmdArgs.push_back("-fno-exceptions"); // Always do this even if unspecified.
10752 CmdArgs.push_back("-DMYRIAD2");
10757 Args.AddAllArgs(CmdArgs, {options::OPT_I_Group, options::OPT_clang_i_Group,
10774 CmdArgs.push_back("-MT");
10775 CmdArgs.push_back(Args.MakeArgString(A->getValue()));
10779 CmdArgs.push_back(II.getFilename());
10780 CmdArgs.push_back("-o");
10781 CmdArgs.push_back(Output.getFilename());
10786 CmdArgs, Inputs));
10794 ArgStringList CmdArgs;
10801 CmdArgs.push_back("-no6thSlotCompression");
10804 CmdArgs.push_back(
10806 CmdArgs.push_back("-noSPrefixing");
10807 CmdArgs.push_back("-a"); // Mystery option.
10808 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
10811 CmdArgs.push_back(
10814 CmdArgs.push_back("-elf"); // Output format.
10815 CmdArgs.push_back(II.getFilename());
10816 CmdArgs.push_back(
10822 CmdArgs, Inputs));
10833 ArgStringList CmdArgs;
10840 CmdArgs.push_back("-EB");
10842 CmdArgs.push_back("-EL");
10854 CmdArgs.push_back("-s");
10856 CmdArgs.push_back("-o");
10857 CmdArgs.push_back(Output.getFilename());
10862 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crti.o")));
10863 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crtbegin.o")));
10866 Args.AddAllArgs(CmdArgs, {options::OPT_L, options::OPT_T_Group,
10870 TC.AddFilePathLibArgs(Args, CmdArgs);
10872 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs);
10876 CmdArgs.push_back("-lstdc++");
10878 CmdArgs.push_back("--start-group");
10879 CmdArgs.push_back("-lc");
10881 CmdArgs.push_back("-lrtemscpu");
10882 CmdArgs.push_back("-lrtemsbsp");
10883 CmdArgs.push_back("--end-group");
10885 CmdArgs.push_back("-lc");
10887 CmdArgs.push_back("-lgcc");
10890 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crtend.o")));
10891 CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crtn.o")));
10897 CmdArgs, Inputs));
10906 ArgStringList CmdArgs;
10908 Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
10910 CmdArgs.push_back("-o");
10911 CmdArgs.push_back(Output.getFilename());
10916 CmdArgs.push_back(Input.getFilename());
10920 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
10923 static void AddPS4SanitizerArgs(const ToolChain &TC, ArgStringList &CmdArgs) {
10926 CmdArgs.push_back("-lSceDbgUBSanitizer_stub_weak");
10929 CmdArgs.push_back("-lSceDbgAddressSanitizer_stub_weak");
10941 ArgStringList CmdArgs;
10952 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
10955 CmdArgs.push_back("-pie");
10958 CmdArgs.push_back("-export-dynamic");
10960 CmdArgs.push_back("--oformat=so");
10963 CmdArgs.push_back("-o");
10964 CmdArgs.push_back(Output.getFilename());
10969 AddPS4SanitizerArgs(ToolChain, CmdArgs);
10971 Args.AddAllArgs(CmdArgs, options::OPT_L);
10972 Args.AddAllArgs(CmdArgs, options::OPT_T_Group);
10973 Args.AddAllArgs(CmdArgs, options::OPT_e);
10974 Args.AddAllArgs(CmdArgs, options::OPT_s);
10975 Args.AddAllArgs(CmdArgs, options::OPT_t);
10976 Args.AddAllArgs(CmdArgs, options::OPT_r);
10979 CmdArgs.push_back("--no-demangle");
10981 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
10984 CmdArgs.push_back("-lpthread");
10989 C.addCommand(llvm::make_unique<Command>(JA, T, Exec, CmdArgs, Inputs));
11000 ArgStringList CmdArgs;
11011 CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
11014 CmdArgs.push_back("-pie");
11017 CmdArgs.push_back("-Bstatic");
11020 CmdArgs.push_back("-export-dynamic");
11021 CmdArgs.push_back("--eh-frame-hdr");
11023 CmdArgs.push_back("-Bshareable");
11025 CmdArgs.push_back("-dynamic-linker");
11026 CmdArgs.push_back("/libexec/ld-elf.so.1");
11028 CmdArgs.push_back("--enable-new-dtags");
11032 CmdArgs.push_back("-o");
11033 CmdArgs.push_back(Output.getFilename());
11038 AddPS4SanitizerArgs(ToolChain, CmdArgs);
11051 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
11053 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
11063 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtbegin)));
11066 Args.AddAllArgs(CmdArgs, options::OPT_L);
11067 ToolChain.AddFilePathLibArgs(Args, CmdArgs);
11068 Args.AddAllArgs(CmdArgs, options::OPT_T_Group);
11069 Args.AddAllArgs(CmdArgs, options::OPT_e);
11070 Args.AddAllArgs(CmdArgs, options::OPT_s);
11071 Args.AddAllArgs(CmdArgs, options::OPT_t);
11072 Args.AddAllArgs(CmdArgs, options::OPT_r);
11075 CmdArgs.push_back("--no-demangle");
11077 AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs);
11082 CmdArgs.push_back("-lkernel");
11084 ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
11086 CmdArgs.push_back("-lm_p");
11088 CmdArgs.push_back("-lm");
11093 CmdArgs.push_back("-lgcc_p");
11095 CmdArgs.push_back("-lcompiler_rt");
11097 CmdArgs.push_back("-lstdc++");
11099 CmdArgs.push_back("-lgcc_eh_p");
11101 CmdArgs.push_back("--as-needed");
11102 CmdArgs.push_back("-lstdc++");
11103 CmdArgs.push_back("--no-as-needed");
11108 CmdArgs.push_back("-lpthread_p");
11110 CmdArgs.push_back("-lpthread");
11115 CmdArgs.push_back("-lc");
11118 CmdArgs.push_back("--start-group");
11119 CmdArgs.push_back("-lc_p");
11120 CmdArgs.push_back("-lpthread_p");
11121 CmdArgs.push_back("--end-group");
11123 CmdArgs.push_back("-lc_p");
11126 CmdArgs.push_back("-lgcc_p");
11129 CmdArgs.push_back("--start-group");
11130 CmdArgs.push_back("-lc");
11131 CmdArgs.push_back("-lpthread");
11132 CmdArgs.push_back("--end-group");
11134 CmdArgs.push_back("-lc");
11136 CmdArgs.push_back("-lcompiler_rt");
11140 CmdArgs.push_back("-lstdc++");
11142 CmdArgs.push_back("-lgcc_eh_p");
11144 CmdArgs.push_back("--as-needed");
11145 CmdArgs.push_back("-lstdc++");
11146 CmdArgs.push_back("--no-as-needed");
11152 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtendS.o")));
11154 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtend.o")));
11155 CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
11165 C.addCommand(llvm::make_unique<Command>(JA, T, Exec, CmdArgs, Inputs));
11217 ArgStringList CmdArgs;
11218 CmdArgs.push_back(TC.getTriple().isArch64Bit() ? "-m64" : "-m32");
11223 CmdArgs.push_back("-g");
11224 CmdArgs.push_back("--dont-merge-basicblocks");
11225 CmdArgs.push_back("--return-at-end");
11250 CmdArgs.push_back(Args.MakeArgString(llvm::Twine("-O") + OOpt));
11254 CmdArgs.push_back("-O0");
11257 CmdArgs.push_back("--gpu-name");
11258 CmdArgs.push_back(Args.MakeArgString(gpu_arch));
11259 CmdArgs.push_back("--output-file");
11260 CmdArgs.push_back(Args.MakeArgString(Output.getFilename()));
11262 CmdArgs.push_back(Args.MakeArgString(II.getFilename()));
11265 CmdArgs.push_back(Args.MakeArgString(A));
11268 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
11283 ArgStringList CmdArgs;
11284 CmdArgs.push_back("--cuda");
11285 CmdArgs.push_back(TC.getTriple().isArch64Bit() ? "-64" : "-32");
11286 CmdArgs.push_back(Args.MakeArgString("--create"));
11287 CmdArgs.push_back(Args.MakeArgString(Output.getFilename()));
11297 CmdArgs.push_back(Args.MakeArgString(llvm::Twine("--image=profile=") +
11302 CmdArgs.push_back(Args.MakeArgString(A));
11305 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));