Lines Matching defs:Args

137     const llvm::opt::ArgList &Args)
152 if (Args.hasArg(clang::driver::options::OPT_cuda_path_EQ)) {
154 Args.getLastArgValue(clang::driver::options::OPT_cuda_path_EQ).str());
161 if (!Args.hasArg(clang::driver::options::OPT_cuda_path_ignore_env)) {
194 bool NoCudaLib = Args.hasArg(options::OPT_nogpulib);
359 static DeviceDebugInfoLevel mustEmitDebugInfo(const ArgList &Args) {
360 const Arg *A = Args.getLastArg(options::OPT_O_Group);
362 Args.hasFlag(options::OPT_cuda_noopt_device_debug,
365 if (const Arg *A = Args.getLastArg(options::OPT_g_Group)) {
375 return willEmitRemarks(Args) ? DebugDirectivesOnly : DisableDebugInfo;
381 const ArgList &Args,
395 GPUArchName = Args.getLastArgValue(options::OPT_march_EQ);
409 if (!Args.hasArg(options::OPT_no_cuda_version_check)) {
415 DeviceDebugInfoLevel DIKind = mustEmitDebugInfo(Args);
422 } else if (Arg *A = Args.getLastArg(options::OPT_O_Group)) {
446 CmdArgs.push_back(Args.MakeArgString(llvm::Twine("-O") + OOpt));
456 if (Args.hasArg(options::OPT_v))
460 CmdArgs.push_back(Args.MakeArgString(OffloadArchToString(gpu_arch)));
465 C.addTempFile(Args.MakeArgString(OutputFileName));
467 CmdArgs.push_back(Args.MakeArgString(OutputFileName));
469 CmdArgs.push_back(Args.MakeArgString(II.getFilename()));
471 for (const auto &A : Args.getAllArgValues(options::OPT_Xcuda_ptxas))
472 CmdArgs.push_back(Args.MakeArgString(A));
477 Relocatable = Args.hasFlag(options::OPT_fopenmp_relocatable_target,
482 Relocatable = Args.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc,
492 if (Arg *A = Args.getLastArg(options::OPT_ptxas_path_EQ))
495 Exec = Args.MakeArgString(TC.GetProgramPath("ptxas"));
503 static bool shouldIncludePTX(const ArgList &Args, StringRef InputArch) {
505 bool includePTX = !Args.hasFlag(options::OPT_offload_new_driver,
507 for (Arg *A : Args.filtered(options::OPT_cuda_include_ptx_EQ,
527 const ArgList &Args,
537 CmdArgs.push_back(Args.MakeArgString("--create"));
538 CmdArgs.push_back(Args.MakeArgString(Output.getFilename()));
539 if (mustEmitDebugInfo(Args) == EmitSameDebugInfoAsHost)
552 !shouldIncludePTX(Args, gpu_arch_str))
560 Args.MakeArgString(llvm::Twine("--image=profile=") + Arch +
564 for (const auto &A : Args.getAllArgValues(options::OPT_Xcuda_fatbinary))
565 CmdArgs.push_back(Args.MakeArgString(A));
567 const char *Exec = Args.MakeArgString(TC.GetProgramPath("fatbinary"));
578 const ArgList &Args,
592 if (mustEmitDebugInfo(Args) == EmitSameDebugInfoAsHost)
595 if (Args.hasArg(options::OPT_v))
598 StringRef GPUArch = Args.getLastArgValue(options::OPT_march_EQ);
606 CmdArgs.push_back(Args.MakeArgString(GPUArch));
608 if (Args.hasArg(options::OPT_ptxas_path_EQ))
609 CmdArgs.push_back(Args.MakeArgString(
610 "--pxtas-path=" + Args.getLastArgValue(options::OPT_ptxas_path_EQ)));
612 if (Args.hasArg(options::OPT_cuda_path_EQ))
613 CmdArgs.push_back(Args.MakeArgString(
614 "--cuda-path=" + Args.getLastArgValue(options::OPT_cuda_path_EQ)));
617 addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH");
620 Args.AddAllArgs(CmdArgs, options::OPT_L);
621 getToolChain().AddFilePathLibArgs(Args, CmdArgs);
622 AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
625 addLTOOptions(getToolChain(), Args, CmdArgs, Output, Inputs[0],
632 CmdArgs.push_back(Args.MakeArgString(Twine("-L") + DefaultLibPath));
638 Args.MakeArgString(getToolChain().GetProgramPath("clang-nvlink-wrapper")),
643 const llvm::opt::ArgList &Args,
645 if (Args.hasArg(options::OPT_cuda_feature_EQ)) {
647 Args.getLastArgValue(options::OPT_cuda_feature_EQ, "+ptx42");
648 Features.push_back(Args.MakeArgString(PtxFeature));
651 CudaInstallationDetector CudaInstallation(D, Triple, Args);
695 const ArgList &Args, bool Freestanding = false)
696 : ToolChain(D, Triple, Args), CudaInstallation(D, HostTriple, Args),
708 const ArgList &Args)
709 : NVPTXToolChain(D, Triple, llvm::Triple(LLVM_HOST_TRIPLE), Args,
713 NVPTXToolChain::TranslateArgs(const llvm::opt::DerivedArgList &Args,
716 DerivedArgList *DAL = ToolChain::TranslateArgs(Args, BoundArch, OffloadKind);
718 DAL = new DerivedArgList(Args.getBaseArgs());
722 for (Arg *A : Args)
733 auto GPUsOrErr = getSystemGPUArchs(Args);
742 Args.MakeArgString(GPUsOrErr->front()));
773 const ArgList &Args) const {
774 switch (mustEmitDebugInfo(Args)) {
788 NVPTXToolChain::getSystemGPUArchs(const ArgList &Args) const {
791 if (Arg *A = Args.getLastArg(options::OPT_nvptx_arch_tool_EQ))
817 const ToolChain &HostTC, const ArgList &Args)
818 : NVPTXToolChain(D, Triple, HostTC.getTriple(), Args), HostTC(HostTC) {}
923 CudaToolChain::TranslateArgs(const llvm::opt::DerivedArgList &Args,
927 HostTC.TranslateArgs(Args, BoundArch, DeviceOffloadKind);
929 DAL = new DerivedArgList(Args.getBaseArgs());
937 for (Arg *A : Args)
944 auto ArchsOrErr = getSystemGPUArchs(Args);
952 Arch = Args.MakeArgString(ArchsOrErr->front());
961 for (Arg *A : Args) {
997 CudaToolChain::GetCXXStdlibType(const ArgList &Args) const {
998 return HostTC.GetCXXStdlibType(Args);
1011 void CudaToolChain::AddClangCXXStdlibIncludeArgs(const ArgList &Args,
1013 HostTC.AddClangCXXStdlibIncludeArgs(Args, CC1Args);
1016 void CudaToolChain::AddIAMCUIncludeArgs(const ArgList &Args,
1018 HostTC.AddIAMCUIncludeArgs(Args, CC1Args);
1035 const ArgList &Args) const {
1036 return HostTC.computeMSVCVersion(D, Args);