75 const llvm::opt::ArgList &Args);
79 llvm::opt::ArgStringList &CC1Args,
83 llvm::opt::ArgStringList &CC1Args)
const override;
85 const llvm::opt::ArgList &DriverArgs,
86 llvm::opt::ArgStringList &CC1Args)
const override;
89 llvm::opt::ArgStringList &CC1Args)
const override;
92 return getTriple().isMusl() ?
"ld.lld" :
"hexagon-link";
96 GetRuntimeLibType(
const llvm::opt::ArgList &Args)
const override;
98 UnwindLibType GetUnwindLibType(
const llvm::opt::ArgList &Args)
const override;
100 CXXStdlibType GetCXXStdlibType(
const llvm::opt::ArgList &Args)
const override;
102 void AddCXXStdlibLibArgs(
const llvm::opt::ArgList &Args,
103 llvm::opt::ArgStringList &CmdArgs)
const override;
107 std::string getHexagonTargetDir(
108 const std::string &InstalledDir,
111 void getBaseIncludeDir(
const llvm::opt::ArgList &Args,
113 void getLibraryDir(
const llvm::opt::ArgList &Args,
115 void getHexagonLibraryPaths(
const llvm::opt::ArgList &Args,
118 std::string getCompilerRTPath()
const override;
120 static bool isAutoHVXEnabled(
const llvm::opt::ArgList &Args);
121 static StringRef GetDefaultCPU();
122 static StringRef GetTargetCPUVersion(
const llvm::opt::ArgList &Args);
124 static std::optional<unsigned>
125 getSmallDataThreshold(
const llvm::opt::ArgList &Args);
126 static std::optional<std::string>
127 GetHVXVersion(
const llvm::opt::ArgList &Args);