Lines Matching defs:Args

30 static void addDashXForInput(const ArgList &Args, const InputInfo &Input,
37 void Flang::addFortranDialectOptions(const ArgList &Args,
39 Args.addAllArgs(CmdArgs, {options::OPT_ffixed_form,
61 void Flang::addPreprocessingOptions(const ArgList &Args,
63 Args.addAllArgs(CmdArgs,
85 static bool shouldLoopVersion(const ArgList &Args) {
86 const Arg *LoopVersioningArg = Args.getLastArg(
117 void Flang::addOtherOptions(const ArgList &Args, ArgStringList &CmdArgs) const {
118 Args.addAllArgs(CmdArgs,
126 if (Args.hasArg(options::OPT_gN_Group)) {
127 Arg *gNArg = Args.getLastArg(options::OPT_gN_Group);
129 } else if (Args.hasArg(options::OPT_g_Flag)) {
137 void Flang::addCodegenOptions(const ArgList &Args,
140 Args.getLastArg(options::OPT_Ofast, options::OPT_fstack_arrays,
146 if (shouldLoopVersion(Args))
149 Args.addAllArgs(CmdArgs, {options::OPT_flang_experimental_hlfir,
156 void Flang::addPicOptions(const ArgList &Args, ArgStringList &CmdArgs) const {
163 ParsePICArgs(getToolChain(), Args);
177 void Flang::AddAArch64TargetArgs(const ArgList &Args,
180 if (Arg *A = Args.getLastArg(options::OPT_msve_vector_bits_EQ)) {
191 Args.MakeArgString("-mvscale-max=" + llvm::Twine(Bits / 128)));
197 Args.MakeArgString("-mvscale-min=" + llvm::Twine(Bits / 128)));
206 void Flang::AddRISCVTargetArgs(const ArgList &Args,
210 if (Arg *A = Args.getLastArg(options::OPT_mrvv_vector_bits_EQ)) {
216 std::string Arch = riscv::getRISCVArch(Args, Triple);
240 Args.MakeArgString("-mvscale-max=" + llvm::Twine(VScaleMin)));
242 Args.MakeArgString("-mvscale-min=" + llvm::Twine(VScaleMin)));
251 void Flang::AddX86_64TargetArgs(const ArgList &Args,
253 if (Arg *A = Args.getLastArg(options::OPT_masm_EQ)) {
256 CmdArgs.push_back(Args.MakeArgString("-mllvm"));
257 CmdArgs.push_back(Args.MakeArgString("-x86-asm-syntax=" + Value));
265 static void addVSDefines(const ToolChain &TC, const ArgList &Args,
269 const VersionTuple vt = TC.computeMSVCVersion(nullptr, Args);
272 CmdArgs.push_back(Args.MakeArgString("-D_MSC_VER=" + Twine(ver / 100000)));
273 CmdArgs.push_back(Args.MakeArgString("-D_MSC_FULL_VER=" + Twine(ver)));
274 CmdArgs.push_back(Args.MakeArgString("-D_WIN32"));
289 static void processVSRuntimeLibrary(const ToolChain &TC, const ArgList &Args,
295 CmdArgs.push_back(Args.MakeArgString(
296 "--dependent-lib=" + TC.getCompilerRTBasename(Args, "builtins")));
299 if (auto *rtl = Args.getLastArg(options::OPT_fms_runtime_lib_EQ)) {
339 void Flang::AddAMDGPUTargetArgs(const ArgList &Args,
341 if (Arg *A = Args.getLastArg(options::OPT_mcode_object_version_EQ)) {
343 CmdArgs.push_back(Args.MakeArgString("-mcode-object-version=" + Val));
347 void Flang::addTargetOptions(const ArgList &Args,
353 std::string CPU = getCPUName(D, Args, Triple);
356 CmdArgs.push_back(Args.MakeArgString(CPU));
359 addOutlineAtomicsArgs(D, getToolChain(), Args, CmdArgs, Triple);
366 getTargetFeatures(D, Triple, Args, CmdArgs, /*ForAs*/ false);
367 AddAArch64TargetArgs(Args, CmdArgs);
372 getTargetFeatures(D, Triple, Args, CmdArgs, /*ForAs*/ false);
373 AddAMDGPUTargetArgs(Args, CmdArgs);
376 getTargetFeatures(D, Triple, Args, CmdArgs, /*ForAs*/ false);
377 AddRISCVTargetArgs(Args, CmdArgs);
380 getTargetFeatures(D, Triple, Args, CmdArgs, /*ForAs*/ false);
381 AddX86_64TargetArgs(Args, CmdArgs);
385 if (Arg *A = Args.getLastArg(options::OPT_fveclib)) {
407 if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {
414 A->render(Args, CmdArgs);
418 processVSRuntimeLibrary(TC, Args, CmdArgs);
419 addVSDefines(TC, Args, CmdArgs);
423 if (const Arg *A = Args.getLastArg(options::OPT_mtune_EQ)) {
426 CmdArgs.push_back(Args.MakeArgString(llvm::sys::getHostCPUName()));
433 const JobAction &JA, const ArgList &Args,
452 Args.MakeArgString("-fembed-offload-object=" +
457 CmdArgs.push_back(Args.MakeArgString(Inputs[i].getFilename()));
473 Args.AddAllArgs(CmdArgs, options::OPT_fopenmp_target_debug_EQ);
474 if (Args.hasFlag(options::OPT_fopenmp_target_debug,
480 if (Args.hasFlag(options::OPT_fopenmp_assume_teams_oversubscription,
484 if (Args.hasFlag(options::OPT_fopenmp_assume_threads_oversubscription,
488 if (Args.hasArg(options::OPT_fopenmp_assume_no_thread_state))
490 if (Args.hasArg(options::OPT_fopenmp_assume_no_nested_parallelism))
492 if (Args.hasArg(options::OPT_nogpulib))
497 static void addFloatingPointOptions(const Driver &D, const ArgList &Args,
507 if (const Arg *A = Args.getLastArg(options::OPT_ffp_contract)) {
524 for (const Arg *A : Args) {
605 CmdArgs.push_back(Args.MakeArgString("-ffp-contract=" + FPContract));
626 static void renderRemarksOptions(const ArgList &Args, ArgStringList &CmdArgs,
629 if (const Arg *A = Args.getLastArg(options::OPT_fsave_optimization_record_EQ))
634 const Arg *A = Args.getLastArg(options::OPT_foptimization_record_file_EQ);
640 if (Args.hasArg(options::OPT_c) || Args.hasArg(options::OPT_S)) {
641 if (Arg *FinalOutput = Args.getLastArg(options::OPT_o))
655 CmdArgs.push_back(Args.MakeArgString(F));
659 Args.getLastArg(options::OPT_foptimization_record_passes_EQ)) {
672 const ArgList &Args, const char *LinkingOutput) const {
686 CmdArgs.push_back(Args.MakeArgString(TripleStr));
690 if (Args.getLastArg(options::OPT_dM)) {
721 addPreprocessingOptions(Args, CmdArgs);
723 addFortranDialectOptions(Args, CmdArgs);
728 Args.getLastArg(options::OPT_fcolor_diagnostics,
746 addPicOptions(Args, CmdArgs);
749 addFloatingPointOptions(D, Args, CmdArgs);
752 addTargetOptions(Args, CmdArgs);
755 std::get<0>(ParsePICArgs(getToolChain(), Args));
757 addMCModel(D, Args, Triple, RelocationModel, CmdArgs);
760 addCodegenOptions(Args, CmdArgs);
763 Args.AddAllArgs(CmdArgs, options::OPT_R_Group);
766 if (willEmitRemarks(Args))
767 renderRemarksOptions(Args, CmdArgs, Input);
770 addOtherOptions(Args, CmdArgs);
774 Args.AddLastArg(CmdArgs, options::OPT_w);
778 if (Args.hasFlag(options::OPT_fopenmp, options::OPT_fopenmp_EQ,
782 switch (D.getOpenMPRuntime(Args)) {
787 Args.AddAllArgs(CmdArgs, options::OPT_fopenmp_version_EQ);
789 if (Args.hasArg(options::OPT_fopenmp_force_usm))
801 const Arg *A = Args.getLastArg(options::OPT_fopenmp_EQ);
813 addOffloadOptions(C, Inputs, JA, Args, CmdArgs);
816 Args.AddAllArgValues(CmdArgs, options::OPT_Xflang);
819 getFramePointerKind(Args, Triple);
841 for (const Arg *A : Args.filtered(options::OPT_mllvm)) {
843 A->render(Args, CmdArgs);
846 for (const Arg *A : Args.filtered(options::OPT_mmlir)) {
848 A->render(Args, CmdArgs);
852 for (const Arg *A : Args.filtered(options::OPT_flang_ignored_w_Group)) {
859 if (const Arg *A = Args.getLastArg(options::OPT_O_Group)) {
866 A->render(Args, CmdArgs);
878 if (Args.getLastArg(options::OPT_save_temps_EQ))
879 Args.AddLastArg(CmdArgs, options::OPT_save_temps_EQ);
881 addDashXForInput(Args, Input, CmdArgs);
887 const char *Exec = Args.MakeArgString(D.GetProgramPath("flang-new", TC));