[llvm] 370aecb - Revert "[ORC] Add optional context string to duplicate symbol definition errors."

JP Lehr via llvm-commits llvm-commits at lists.llvm.org
Fri May 9 02:19:29 PDT 2025


Author: JP Lehr
Date: 2025-05-09T04:18:02-05:00
New Revision: 370aecb9572477f7b6bdd6243c80b53f384e0b84

URL: https://github.com/llvm/llvm-project/commit/370aecb9572477f7b6bdd6243c80b53f384e0b84
DIFF: https://github.com/llvm/llvm-project/commit/370aecb9572477f7b6bdd6243c80b53f384e0b84.diff

LOG: Revert "[ORC] Add optional context string to duplicate symbol definition errors."

Broke buildbots: https://lab.llvm.org/buildbot/#/builders/10/builds/5025

This reverts commit b0979b8c65d76cc1897e97b9ad091d8d99abdd18.

Added: 
    

Modified: 
    llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h
    llvm/lib/ExecutionEngine/Orc/Core.cpp
    llvm/lib/ExecutionEngine/Orc/Shared/OrcError.cpp

Removed: 
    llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-42.ll
    llvm/test/ExecutionEngine/JITLink/Generic/duplicate-definition-error.test


################################################################################
diff  --git a/llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h b/llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h
index d42fc3e2ef49b..8dffea70e3355 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h
@@ -48,16 +48,12 @@ class DuplicateDefinition : public ErrorInfo<DuplicateDefinition> {
 public:
   static char ID;
 
-  DuplicateDefinition(std::string SymbolName,
-                      std::optional<std::string> Context = {});
+  DuplicateDefinition(std::string SymbolName);
   std::error_code convertToErrorCode() const override;
   void log(raw_ostream &OS) const override;
   const std::string &getSymbolName() const;
-  const std::optional<std::string> &getContext() const;
-
 private:
   std::string SymbolName;
-  std::optional<std::string> Context;
 };
 
 class JITSymbolNotFound : public ErrorInfo<JITSymbolNotFound> {

diff  --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp
index 88bdba0ccc642..cbed057950aea 100644
--- a/llvm/lib/ExecutionEngine/Orc/Core.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp
@@ -731,8 +731,7 @@ JITDylib::defineMaterializing(MaterializationResponsibility &FromMR,
             Symbols.erase(Symbols.find_as(S));
 
           // FIXME: Return all duplicates.
-          return make_error<DuplicateDefinition>(
-              std::string(*Name), "defineMaterializing operation");
+          return make_error<DuplicateDefinition>(std::string(*Name));
         }
 
         // Otherwise just make a note to discard this symbol after the loop.
@@ -1425,8 +1424,7 @@ Error JITDylib::defineImpl(MaterializationUnit &MU) {
   if (!Duplicates.empty()) {
     LLVM_DEBUG(
         { dbgs() << "  Error: Duplicate symbols " << Duplicates << "\n"; });
-    return make_error<DuplicateDefinition>(std::string(**Duplicates.begin()),
-                                           MU.getName().str());
+    return make_error<DuplicateDefinition>(std::string(**Duplicates.begin()));
   }
 
   // Discard any overridden defs in this MU.

diff  --git a/llvm/lib/ExecutionEngine/Orc/Shared/OrcError.cpp b/llvm/lib/ExecutionEngine/Orc/Shared/OrcError.cpp
index 0612078ee2dd4..ec53338570db2 100644
--- a/llvm/lib/ExecutionEngine/Orc/Shared/OrcError.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Shared/OrcError.cpp
@@ -86,28 +86,21 @@ std::error_code orcError(OrcErrorCode ErrCode) {
   return std::error_code(static_cast<UT>(ErrCode), getOrcErrCat());
 }
 
-DuplicateDefinition::DuplicateDefinition(std::string SymbolName,
-                                         std::optional<std::string> Context)
-    : SymbolName(std::move(SymbolName)), Context(std::move(Context)) {}
+DuplicateDefinition::DuplicateDefinition(std::string SymbolName)
+    : SymbolName(std::move(SymbolName)) {}
 
 std::error_code DuplicateDefinition::convertToErrorCode() const {
   return orcError(OrcErrorCode::DuplicateDefinition);
 }
 
 void DuplicateDefinition::log(raw_ostream &OS) const {
-  if (Context)
-    OS << "In " << *Context << ", ";
-  OS << "duplicate definition of symbol '" << SymbolName << "'";
+  OS << "Duplicate definition of symbol '" << SymbolName << "'";
 }
 
 const std::string &DuplicateDefinition::getSymbolName() const {
   return SymbolName;
 }
 
-const std::optional<std::string> &DuplicateDefinition::getContext() const {
-  return Context;
-}
-
 JITSymbolNotFound::JITSymbolNotFound(std::string SymbolName)
     : SymbolName(std::move(SymbolName)) {}
 

diff  --git a/llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-42.ll b/llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-42.ll
deleted file mode 100644
index ebfdd93fb6f4e..0000000000000
--- a/llvm/test/ExecutionEngine/JITLink/Generic/Inputs/main-ret-42.ll
+++ /dev/null
@@ -1,4 +0,0 @@
-define i32 @main(i32 %argc, i8**  %argv)  {
-entry:
-  ret i32 42
-}

diff  --git a/llvm/test/ExecutionEngine/JITLink/Generic/duplicate-definition-error.test b/llvm/test/ExecutionEngine/JITLink/Generic/duplicate-definition-error.test
deleted file mode 100644
index 4b5ac734fb922..0000000000000
--- a/llvm/test/ExecutionEngine/JITLink/Generic/duplicate-definition-error.test
+++ /dev/null
@@ -1,9 +0,0 @@
-# RUN: rm -rf %t && mkdir %t
-# RUN: llc -filetype=obj -o %t/main-ret-0.o %S/Inputs/main-ret-0.ll
-# RUN: llc -filetype=obj -o %T/main-ret-42.o %S/Inputs/main-ret-42.ll
-# RUN: not llvm-jitlink -noexec %T/main-ret-0.o %T/main-ret-42.o 2>&1 | FileCheck %s
-#
-# Trigger a duplicate definition error by trying to link two main functions,
-# check that the error message includes the file that introduced the duplicate.
-#
-# CHECK: In {{.*}}main-ret-42.o, duplicate definition of {{.*}}main


        


More information about the llvm-commits mailing list