clang: Avoid some unnecessary uses of MakeArgString for hip (#196376)
diff --git a/clang/lib/Driver/ToolChains/HIPAMD.cpp b/clang/lib/Driver/ToolChains/HIPAMD.cpp
index b7732c9..7e38ecb 100644
--- a/clang/lib/Driver/ToolChains/HIPAMD.cpp
+++ b/clang/lib/Driver/ToolChains/HIPAMD.cpp
@@ -80,7 +80,7 @@
// Add features to mattr such as cumode
std::string MAttrString = "-plugin-opt=-mattr=";
for (auto OneFeature : unifyTargetFeatures(Features)) {
- MAttrString.append(Args.MakeArgString(OneFeature));
+ MAttrString.append(Args.MakeArgStringRef(OneFeature));
if (OneFeature != Features.back())
MAttrString.append(",");
}
@@ -91,10 +91,9 @@
// Since AMDGPU backend currently does not support ISA-level linking, all
// called functions need to be imported.
if (IsThinLTO) {
- LldArgs.push_back(Args.MakeArgString("-plugin-opt=-force-import-all"));
- LldArgs.push_back(Args.MakeArgString("-plugin-opt=-avail-extern-to-local"));
- LldArgs.push_back(Args.MakeArgString(
- "-plugin-opt=-avail-extern-gv-in-addrspace-to-local=3"));
+ LldArgs.push_back("-plugin-opt=-force-import-all");
+ LldArgs.push_back("-plugin-opt=-avail-extern-to-local");
+ LldArgs.push_back("-plugin-opt=-avail-extern-gv-in-addrspace-to-local=3");
}
for (const Arg *A : Args.filtered(options::OPT_mllvm)) {
@@ -126,7 +125,7 @@
LldArgs.push_back(
Args.MakeArgString(Twine("-plugin-opt=") + SplitArg.second));
} else {
- LldArgs.push_back(Args.MakeArgString(ArgVal));
+ LldArgs.push_back(Args.MakeArgStringRef(ArgVal));
}
Arg->claim();
}
@@ -143,7 +142,7 @@
LldArgs.push_back("--no-whole-archive");
- const char *Lld = Args.MakeArgString(getToolChain().GetProgramPath("lld"));
+ const char *Lld = Args.MakeArgStringRef(getToolChain().GetProgramPath("lld"));
C.addCommand(std::make_unique<Command>(JA, *this, ResponseFileSupport::None(),
Lld, LldArgs, Inputs, Output));
}
@@ -175,11 +174,10 @@
// compiled to SPIR-V.
llvm::opt::ArgStringList CmdArgs;
- const char *Triple =
- C.getArgs().MakeArgString("-triple=spirv64-amd-amdhsa");
- CmdArgs.append({"-cc1", Triple, "-emit-obj", "-disable-llvm-optzns",
- LinkedBCFile.getFilename(), "-o", Output.getFilename()});
+ CmdArgs.append({"-cc1", "-triple=spirv64-amd-amdhsa", "-emit-obj",
+ "-disable-llvm-optzns", LinkedBCFile.getFilename(), "-o",
+ Output.getFilename()});
const Driver &Driver = getToolChain().getDriver();
const char *Exec = Driver.getClangProgramPath();
@@ -254,9 +252,8 @@
StringRef MaxThreadsPerBlock =
DriverArgs.getLastArgValue(options::OPT_gpu_max_threads_per_block_EQ);
if (!MaxThreadsPerBlock.empty()) {
- std::string ArgStr =
- (Twine("--gpu-max-threads-per-block=") + MaxThreadsPerBlock).str();
- CC1Args.push_back(DriverArgs.MakeArgStringRef(ArgStr));
+ CC1Args.push_back(DriverArgs.MakeArgString(
+ Twine("--gpu-max-threads-per-block=") + MaxThreadsPerBlock));
}
// Default to "hidden" visibility, as object level linking will not be
@@ -287,7 +284,7 @@
for (auto BCFile : getDeviceLibs(DriverArgs, DeviceOffloadingKind)) {
CC1Args.push_back(BCFile.ShouldInternalize ? "-mlink-builtin-bitcode"
: "-mlink-bitcode-file");
- CC1Args.push_back(DriverArgs.MakeArgString(BCFile.Path));
+ CC1Args.push_back(DriverArgs.MakeArgStringRef(BCFile.Path));
}
}
@@ -389,7 +386,7 @@
// Find in --hip-device-lib-path and HIP_LIBRARY_PATH.
for (StringRef Path : RocmInstallation->getRocmDeviceLibPathArg())
- LibraryPaths.push_back(DriverArgs.MakeArgString(Path));
+ LibraryPaths.push_back(DriverArgs.MakeArgStringRef(Path));
addDirectoryList(DriverArgs, LibraryPaths, "", "HIP_DEVICE_LIB_PATH");