[compiler-rt] [llvm] [InstrProf] Add debuginfod correlation support (PR #106606)

Daniel Thornburgh via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 30 14:31:27 PDT 2024


================
@@ -113,11 +115,36 @@ InstrProfCorrelator::get(StringRef Filename, ProfCorrelatorKind FileKind) {
     return get(std::move(*BufferOrErr), FileKind);
   }
   if (FileKind == BINARY) {
-    auto BufferOrErr = errorOrToExpected(MemoryBuffer::getFile(Filename));
-    if (auto Err = BufferOrErr.takeError())
-      return std::move(Err);
+    if (!Filename.empty()) {
+      auto BufferOrErr = errorOrToExpected(MemoryBuffer::getFile(Filename));
+      if (auto Err = BufferOrErr.takeError())
+        return std::move(Err);
+      return get(std::move(*BufferOrErr), FileKind);
+    } else if (BIDFetcher) {
+      if (BIs->size() > 1)
----------------
mysterymath wrote:

This code doesn't make a distinction between a `BIs` that is set to an empty array and a `BIs` that is unset. Indeed, the former case appears to crash. Accordingly, `BIs` should just be an `ArrayRef`.

https://github.com/llvm/llvm-project/pull/106606


More information about the llvm-commits mailing list