From 76d94d3eedf058644a101510597b90d1f441b710 Mon Sep 17 00:00:00 2001 From: Jonas Hahnfeld Date: Sat, 4 Feb 2023 21:24:44 +0100 Subject: [PATCH] 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. --- llvm/lib/ExecutionEngine/Orc/Layer.cpp | 4 ---- .../test/ExecutionEngine/Orc/Inputs/weak-comdat-def.ll | 12 ------------ llvm/test/ExecutionEngine/Orc/weak-comdat.ll | 18 ------------------ 3 files changed, 34 deletions(-) delete mode 100644 llvm/test/ExecutionEngine/Orc/Inputs/weak-comdat-def.ll delete mode 100644 llvm/test/ExecutionEngine/Orc/weak-comdat.ll diff --git a/llvm/lib/ExecutionEngine/Orc/Layer.cpp b/llvm/lib/ExecutionEngine/Orc/Layer.cpp index 3368d32..95380d91 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(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 d35ead0..0000000 --- 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 e1e1ab0..0000000 --- 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 -} -- 2.7.4