24                                      const llvm::opt::ArgStringList &Args) {
 
   25  llvm::opt::ArgStringList CmdArgs(Args);
 
   28  assert(Input.
getType() != types::TY_PP_Asm && 
"Unexpected input type");
 
   30  if (Output.
getType() == types::TY_PP_Asm)
 
   31    CmdArgs.push_back(
"--spirv-tools-dis");
 
   37  using namespace std::string_literals;
 
   38  auto VersionedTool = 
"llvm-spirv-"s + std::to_string(LLVM_VERSION_MAJOR);
 
   39  std::string ExeCand = 
T.getToolChain().GetProgramPath(VersionedTool.c_str());
 
   40  if (!llvm::sys::fs::can_execute(ExeCand))
 
   41    ExeCand = 
T.getToolChain().GetProgramPath(
"llvm-spirv");
 
   43  const char *Exec = 
C.getArgs().MakeArgString(ExeCand);
 
   45                                         Exec, CmdArgs, Input, Output));
 
 
   52                                     const llvm::opt::ArgStringList &Args) {
 
   53  llvm::opt::ArgStringList CmdArgs(Args);
 
   56  assert(Input.
getType() == types::TY_PP_Asm && 
"Unexpected input type");
 
   62  using namespace std::string_literals;
 
   63  auto VersionedTool = 
"spirv-as-"s + std::to_string(LLVM_VERSION_MAJOR);
 
   64  std::string ExeCand = 
T.getToolChain().GetProgramPath(VersionedTool.c_str());
 
   65  if (!llvm::sys::fs::can_execute(ExeCand))
 
   66    ExeCand = 
T.getToolChain().GetProgramPath(
"spirv-as");
 
   68  const char *Exec = 
C.getArgs().MakeArgString(ExeCand);
 
   70                                         Exec, CmdArgs, Input, Output));
 
 
   77                                     const char *LinkingOutput)
 const {
 
   79  if (Inputs.size() != 1)
 
   80    llvm_unreachable(
"Invalid number of input files.");
 
 
   88                                    const char *AssembleOutput)
 const {
 
   90  if (Inputs.size() != 1)
 
   91    llvm_unreachable(
"Invalid number of input files.");
 
 
   97    Assembler = std::make_unique<SPIRV::Assembler>(*
this);
 
  111    return SPIRVToolChain::getAssembler();
 
 
  123                                 const char *LinkingOutput)
 const {
 
  126  ArgStringList CmdArgs;
 
  129  CmdArgs.push_back(
"-o");
 
  134  if (Args.hasArg(options::OPT_sycl_link))
 
  137                                         Args.MakeArgString(
Linker), CmdArgs,
 
 
  146  NativeLLVMSupport = Args.hasArg(options::OPT_sycl_link);
 
 
__device__ __2f16 float __ockl_bool s
ActionClass getKind() const
Compilation - A set of tasks to perform for a single driver invocation.
Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like comma...
SmallVector< InputInfo, 4 > InputInfoList
const FunctionProtoType * T
static constexpr ResponseFileSupport None()
Returns a ResponseFileSupport indicating that response files are not supported.