diff --git a/llvm/tools/llvm-dwp/llvm-dwp.cpp b/llvm/tools/llvm-dwp/llvm-dwp.cpp --- a/llvm/tools/llvm-dwp/llvm-dwp.cpp +++ b/llvm/tools/llvm-dwp/llvm-dwp.cpp @@ -71,7 +71,10 @@ if (!DWOCompDir.empty()) { SmallString<16> DWOPath(std::move(DWOName)); sys::fs::make_absolute(DWOCompDir, DWOPath); - DWOPaths.emplace_back(DWOPath.data(), DWOPath.size()); + if (sys::fs::exists(DWOPath)) + DWOPaths.emplace_back(DWOPath.data(), DWOPath.size()); + else + DWOPaths.push_back(std::move(DWOName)); } else { DWOPaths.push_back(std::move(DWOName)); }