diff options
author | Raul Tambre <raul@tambre.ee> | 2021-11-06 11:19:51 (GMT) |
---|---|---|
committer | Raul Tambre <raul@tambre.ee> | 2021-11-07 19:28:08 (GMT) |
commit | 15fde4c420e0fa469077fad020b9fdc071796f70 (patch) | |
tree | 464136dac024f24ea261e877a54d95d073d08cce /Source/cmNinjaNormalTargetGenerator.cxx | |
parent | cf7e68087d005051ec07cb21c2aed2963a3d5c4e (diff) | |
download | CMake-15fde4c420e0fa469077fad020b9fdc071796f70.zip CMake-15fde4c420e0fa469077fad020b9fdc071796f70.tar.gz CMake-15fde4c420e0fa469077fad020b9fdc071796f70.tar.bz2 |
CUDA: Use local shorthands for variables in Clang device link code
Helps reduce wrapping of lines making code more readable.
Diffstat (limited to 'Source/cmNinjaNormalTargetGenerator.cxx')
-rw-r--r-- | Source/cmNinjaNormalTargetGenerator.cxx | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 228df7f..01efcd0 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -744,9 +744,10 @@ void cmNinjaNormalTargetGenerator::WriteDeviceLinkStatements( return deps; }(); + cmGlobalNinjaGenerator* globalGen{ this->GetGlobalGenerator() }; const std::string objectDir = cmStrCat(this->GeneratorTarget->GetSupportDirectory(), - this->GetGlobalGenerator()->ConfigDirectory(config)); + globalGen->ConfigDirectory(config)); const std::string ninjaOutputDir = this->ConvertToNinjaPath(objectDir); cmNinjaBuild fatbinary(this->LanguageLinkerCudaFatbinaryRule(config)); @@ -777,26 +778,23 @@ void cmNinjaNormalTargetGenerator::WriteDeviceLinkStatements( cmStrCat(" -im=profile=sm_", architecture, ",file=", cubin); fatbinary.ExplicitDeps.emplace_back(cubin); - this->GetGlobalGenerator()->WriteBuild(this->GetCommonFileStream(), dlink); + globalGen->WriteBuild(this->GetCommonFileStream(), dlink); } // Combine all architectures into a single fatbinary. fatbinary.Outputs = { cmStrCat(ninjaOutputDir, "/cmake_cuda_fatbin.h") }; - this->GetGlobalGenerator()->WriteBuild(this->GetCommonFileStream(), - fatbinary); + globalGen->WriteBuild(this->GetCommonFileStream(), fatbinary); // Compile the stub that registers the kernels and contains the fatbinaries. + cmLocalNinjaGenerator* localGen{ this->GetLocalGenerator() }; cmNinjaBuild dcompile(this->LanguageLinkerCudaDeviceCompileRule(config)); dcompile.Outputs = { output }; dcompile.ExplicitDeps = { cmStrCat(ninjaOutputDir, "/cmake_cuda_fatbin.h") }; - dcompile.Variables["FATBIN"] = - this->GetLocalGenerator()->ConvertToOutputFormat( - cmStrCat(objectDir, "/cmake_cuda_fatbin.h"), cmOutputConverter::SHELL); - dcompile.Variables["REGISTER"] = - this->GetLocalGenerator()->ConvertToOutputFormat( - cmStrCat(objectDir, "/cmake_cuda_register.h"), cmOutputConverter::SHELL); - this->GetGlobalGenerator()->WriteBuild(this->GetCommonFileStream(), - dcompile); + dcompile.Variables["FATBIN"] = localGen->ConvertToOutputFormat( + cmStrCat(objectDir, "/cmake_cuda_fatbin.h"), cmOutputConverter::SHELL); + dcompile.Variables["REGISTER"] = localGen->ConvertToOutputFormat( + cmStrCat(objectDir, "/cmake_cuda_register.h"), cmOutputConverter::SHELL); + globalGen->WriteBuild(this->GetCommonFileStream(), dcompile); } void cmNinjaNormalTargetGenerator::WriteNvidiaDeviceLinkStatement( |