[PATCH] D128752: [CUDA] Stop adding CUDA features twice
Joseph Huber via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 29 06:34:32 PDT 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rG56ab966a04dd: [CUDA] Stop adding CUDA features twice (authored by jhuber6).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128752/new/
https://reviews.llvm.org/D128752
Files:
clang/lib/Driver/ToolChains/Cuda.cpp
clang/lib/Driver/ToolChains/Cuda.h
Index: clang/lib/Driver/ToolChains/Cuda.h
===================================================================
--- clang/lib/Driver/ToolChains/Cuda.h
+++ clang/lib/Driver/ToolChains/Cuda.h
@@ -126,8 +126,7 @@
void getNVPTXTargetFeatures(const Driver &D, const llvm::Triple &Triple,
const llvm::opt::ArgList &Args,
- std::vector<StringRef> &Features,
- Optional<clang::CudaVersion> Version = None);
+ std::vector<StringRef> &Features);
} // end namespace NVPTX
} // end namespace tools
Index: clang/lib/Driver/ToolChains/Cuda.cpp
===================================================================
--- clang/lib/Driver/ToolChains/Cuda.cpp
+++ clang/lib/Driver/ToolChains/Cuda.cpp
@@ -636,23 +636,20 @@
void NVPTX::getNVPTXTargetFeatures(const Driver &D, const llvm::Triple &Triple,
const llvm::opt::ArgList &Args,
- std::vector<StringRef> &Features,
- Optional<clang::CudaVersion> Version) {
+ std::vector<StringRef> &Features) {
if (Args.hasArg(options::OPT_cuda_feature_EQ)) {
StringRef PtxFeature =
Args.getLastArgValue(options::OPT_cuda_feature_EQ, "+ptx42");
Features.push_back(Args.MakeArgString(PtxFeature));
return;
- } else if (!Version) {
- CudaInstallationDetector CudaInstallation(D, Triple, Args);
- Version = CudaInstallation.version();
}
+ CudaInstallationDetector CudaInstallation(D, Triple, Args);
// New CUDA versions often introduce new instructions that are only supported
// by new PTX version, so we need to raise PTX level to enable them in NVPTX
// back-end.
const char *PtxFeature = nullptr;
- switch (*Version) {
+ switch (CudaInstallation.version()) {
#define CASE_CUDA_VERSION(CUDA_VER, PTX_VER) \
case CudaVersion::CUDA_##CUDA_VER: \
PtxFeature = "+ptx" #PTX_VER; \
@@ -746,11 +743,6 @@
clang::CudaVersion CudaInstallationVersion = CudaInstallation.version();
- std::vector<StringRef> Features;
- NVPTX::getNVPTXTargetFeatures(getDriver(), getTriple(), DriverArgs, Features,
- CudaInstallationVersion);
- for (StringRef PtxFeature : Features)
- CC1Args.append({"-target-feature", DriverArgs.MakeArgString(PtxFeature)});
if (DriverArgs.hasFlag(options::OPT_fcuda_short_ptr,
options::OPT_fno_cuda_short_ptr, false))
CC1Args.append({"-mllvm", "--nvptx-short-ptr"});
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D128752.440987.patch
Type: text/x-patch
Size: 2710 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220629/11e70cd6/attachment-0001.bin>
More information about the cfe-commits
mailing list