9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HLSL_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HLSL_H
29 const llvm::opt::ArgList &TCArgs,
30 const char *LinkingOutput)
const override;
36 :
Tool(
"hlsl::MetalConverter",
"metal-shaderconverter", TC) {}
42 const llvm::opt::ArgList &TCArgs,
43 const char *LinkingOutput)
const override;
49 :
Tool(
"hlsl::LLVMObjcopy",
"llvm-objcopy", TC) {}
55 const llvm::opt::ArgList &TCArgs,
56 const char *LinkingOutput)
const override;
67 const llvm::opt::ArgList &Args);
76 llvm::opt::DerivedArgList *
77 TranslateArgs(
const llvm::opt::DerivedArgList &Args, StringRef BoundArch,
79 static std::optional<std::string> parseTargetProfile(StringRef TargetProfile);
80 bool requiresValidation(llvm::opt::DerivedArgList &Args)
const;
81 bool requiresBinaryTranslation(llvm::opt::DerivedArgList &Args)
const;
82 bool requiresObjcopy(llvm::opt::DerivedArgList &Args)
const;
95 mutable std::unique_ptr<tools::hlsl::Validator> Validator;
96 mutable std::unique_ptr<tools::hlsl::MetalConverter> MetalConverter;
97 mutable std::unique_ptr<tools::hlsl::LLVMObjcopy> LLVMObjcopy;
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...
The JSON file list parser is used to communicate input to InstallAPI.