9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HLSL_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HLSL_H
24 :
Tool(
"hlsl::Validator", TC.
getTriple().isSPIRV() ?
"spirv-val" :
"dxv",
31 const llvm::opt::ArgList &TCArgs,
32 const char *LinkingOutput)
const override;
38 :
Tool(
"hlsl::MetalConverter",
"metal-shaderconverter", TC) {}
44 const llvm::opt::ArgList &TCArgs,
45 const char *LinkingOutput)
const override;
51 :
Tool(
"hlsl::LLVMObjcopy",
"llvm-objcopy", TC) {}
57 const llvm::opt::ArgList &TCArgs,
58 const char *LinkingOutput)
const override;
69 const llvm::opt::ArgList &Args);
78 llvm::opt::DerivedArgList *
79 TranslateArgs(
const llvm::opt::DerivedArgList &Args, StringRef BoundArch,
81 static std::optional<std::string> parseTargetProfile(StringRef TargetProfile);
92 bool Diagnose =
true)
const;
110 void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args)
const override;
113 mutable std::unique_ptr<tools::hlsl::Validator> Validator;
114 mutable std::unique_ptr<tools::hlsl::MetalConverter> MetalConverter;
115 mutable std::unique_ptr<tools::hlsl::LLVMObjcopy> LLVMObjcopy;
static StringRef getTriple(const Command &Job)
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
The JSON file list parser is used to communicate input to InstallAPI.