aboutsummaryrefslogtreecommitdiff
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h2
-rw-r--r--llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp14
2 files changed, 9 insertions, 7 deletions
diff --git a/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h b/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
index fbab7f3..0a11617 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+++ b/llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
@@ -1406,7 +1406,7 @@ public:
/// any.
LLVM_ABI static TargetRegionEntryInfo
getTargetEntryUniqueInfo(FileIdentifierInfoCallbackTy CallBack,
- StringRef ParentName = "");
+ vfs::FileSystem &VFS, StringRef ParentName = "");
/// Enum class for the RedctionGen CallBack type to be used.
enum class ReductionGenCBKind { Clang, MLIR };
diff --git a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
index 94c5153..5980ee3 100644
--- a/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+++ b/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
@@ -10313,17 +10313,19 @@ void OffloadEntriesInfoManager::getTargetRegionEntryFnName(
TargetRegionEntryInfo
OpenMPIRBuilder::getTargetEntryUniqueInfo(FileIdentifierInfoCallbackTy CallBack,
+ vfs::FileSystem &VFS,
StringRef ParentName) {
sys::fs::UniqueID ID(0xdeadf17e, 0);
auto FileIDInfo = CallBack();
uint64_t FileID = 0;
- std::error_code EC = sys::fs::getUniqueID(std::get<0>(FileIDInfo), ID);
- // If the inode ID could not be determined, create a hash value
- // the current file name and use that as an ID.
- if (EC)
+ if (ErrorOr<vfs::Status> Status = VFS.status(std::get<0>(FileIDInfo))) {
+ ID = Status->getUniqueID();
+ FileID = Status->getUniqueID().getFile();
+ } else {
+ // If the inode ID could not be determined, create a hash value
+ // the current file name and use that as an ID.
FileID = hash_value(std::get<0>(FileIDInfo));
- else
- FileID = ID.getFile();
+ }
return TargetRegionEntryInfo(ParentName, ID.getDevice(), FileID,
std::get<1>(FileIDInfo));