diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index a5d43bdac2373..d6cdc40b0a292 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -3073,7 +3073,6 @@ class OffloadingActionBuilder final { CUID = llvm::utohexstr(Hash.low(), /*LowerCase=*/true); } } - IA->setId(CUID); if (CompileHostOnly) return ABRT_Success; @@ -3081,6 +3080,8 @@ class OffloadingActionBuilder final { // Replicate inputs for each GPU architecture. auto Ty = IA->getType() == types::TY_HIP ? types::TY_HIP_DEVICE : types::TY_CUDA_DEVICE; + IA->setId(CUID); + for (unsigned I = 0, E = GpuArchList.size(); I != E; ++I) { CudaDeviceActions.push_back( C.MakeAction(IA->getInputArg(), Ty, IA->getId()));