Revert "ThinLTO: Fix inline assembly references to static functions with CFI"

This casues compiler crash: Assertion `materialized_use_empty() && "Uses remain when a value is destroyed!"'

This reverts commit e3d24b45b8.
This commit is contained in:
Zequan Wu 2021-06-23 19:24:05 -07:00
parent e655e74a31
commit 9393894331
2 changed files with 0 additions and 29 deletions

View File

@ -55,7 +55,6 @@ void promoteInternals(Module &ExportM, Module &ImportM, StringRef ModuleId,
}
}
std::string OldName = Name.str();
std::string NewName = (Name + ModuleId).str();
if (const auto *C = ExportGV.getComdat())
@ -70,15 +69,6 @@ void promoteInternals(Module &ExportM, Module &ImportM, StringRef ModuleId,
ImportGV->setName(NewName);
ImportGV->setVisibility(GlobalValue::HiddenVisibility);
}
if (Function *F = dyn_cast<Function>(&ExportGV)) {
// Create a local alias with the original name to avoid breaking
// references from inline assembly.
GlobalAlias *A = GlobalAlias::create(
F->getValueType(), F->getAddressSpace(), GlobalValue::InternalLinkage,
OldName, F, &ExportM);
appendToCompilerUsed(ExportM, A);
}
}
if (!RenamedComdats.empty())

View File

@ -1,19 +0,0 @@
; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o - %s | llvm-modextract -b -n 0 -o - | llvm-dis | FileCheck %s
; CHECK: @a = internal alias {{.*}}@a.[[HASH:[0-9a-f]+]]
define void @b() {
%f = alloca void ()*, align 8
; CHECK: store{{.*}} @a.[[HASH]],{{.*}} %f
store void ()* @a, void ()** %f, align 8
; CHECK: %1 = call void ()* asm sideeffect "leaq a(%rip)
%1 = call void ()* asm sideeffect "leaq a(%rip), $0\0A\09", "=r,~{dirflag},~{fpsr},~{flags}"()
ret void
}
; CHECK: define{{.*}} @a.[[HASH]](){{.*}} !type
define internal void @a() !type !0 {
ret void
}
!0 = !{i64 0, !"typeid1"}