[llvm] 76d94d3 - Revert "[ORC] Drop Comdat when discarding IR symbol"
Jonas Hahnfeld via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 4 12:26:47 PST 2023
Author: Jonas Hahnfeld
Date: 2023-02-04T21:26:36+01:00
New Revision: 76d94d3eedf058644a101510597b90d1f441b710
URL: https://github.com/llvm/llvm-project/commit/76d94d3eedf058644a101510597b90d1f441b710
DIFF: https://github.com/llvm/llvm-project/commit/76d94d3eedf058644a101510597b90d1f441b710.diff
LOG: Revert "[ORC] Drop Comdat when discarding IR symbol"
A number of AArch64 bots report errors in clang-repl, for example
https://lab.llvm.org/buildbot/#/builders/197/builds/3920
This reverts commit 87d7838202267a011639fcbf97263556ccf091dc.
Added:
Modified:
llvm/lib/ExecutionEngine/Orc/Layer.cpp
Removed:
llvm/test/ExecutionEngine/Orc/Inputs/weak-comdat-def.ll
llvm/test/ExecutionEngine/Orc/weak-comdat.ll
################################################################################
diff --git a/llvm/lib/ExecutionEngine/Orc/Layer.cpp b/llvm/lib/ExecutionEngine/Orc/Layer.cpp
index 3368d3276cb37..95380d912392e 100644
--- a/llvm/lib/ExecutionEngine/Orc/Layer.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Layer.cpp
@@ -125,10 +125,6 @@ void IRMaterializationUnit::discard(const JITDylib &JD,
assert(!I->second->isDeclaration() &&
"Discard should only apply to definitions");
I->second->setLinkage(GlobalValue::AvailableExternallyLinkage);
- // According to the IR verifier, "Declaration[s] may not be in a Comdat!"
- // Remove it, if this is a GlobalObject.
- if (auto *GO = dyn_cast<GlobalObject>(I->second))
- GO->setComdat(nullptr);
SymbolToDefinition.erase(I);
}
diff --git a/llvm/test/ExecutionEngine/Orc/Inputs/weak-comdat-def.ll b/llvm/test/ExecutionEngine/Orc/Inputs/weak-comdat-def.ll
deleted file mode 100644
index d35ead08ff1e7..0000000000000
--- a/llvm/test/ExecutionEngine/Orc/Inputs/weak-comdat-def.ll
+++ /dev/null
@@ -1,12 +0,0 @@
-define i32 @g() {
-entry:
- ret i32 0
-}
-
-$f = comdat nodeduplicate
-
-define i32 @f() comdat {
-entry:
- %0 = call i32 @g()
- ret i32 %0
-}
diff --git a/llvm/test/ExecutionEngine/Orc/weak-comdat.ll b/llvm/test/ExecutionEngine/Orc/weak-comdat.ll
deleted file mode 100644
index e1e1ab02e2981..0000000000000
--- a/llvm/test/ExecutionEngine/Orc/weak-comdat.ll
+++ /dev/null
@@ -1,18 +0,0 @@
-; RUN: lli -extra-module %p/Inputs/weak-comdat-def.ll %s
-; UNSUPPORTED: target={{.*}}-darwin{{.*}}
-
-declare i32 @g()
-
-$f = comdat nodeduplicate
-
-define weak i32 @f() comdat {
-entry:
- %0 = call i32 @g()
- ret i32 %0
-}
-
-define i32 @main() {
-entry:
- %0 = call i32 @f()
- ret i32 %0
-}
More information about the llvm-commits
mailing list