mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Ignore llvm.* globals.
It is not clear if llvm.global_ctors should or should not be in llvm.metadata, but in practice it is not and we need to ignore it for LTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212351 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
bb5f6229f4
commit
8089fee2dd
@ -238,16 +238,13 @@ uint32_t IRObjectFile::getSymbolFlags(DataRefImpl Symb) const {
|
||||
if (GV->hasLinkOnceLinkage() || GV->hasWeakLinkage())
|
||||
Res |= BasicSymbolRef::SF_Weak;
|
||||
|
||||
if (auto *Var = dyn_cast<GlobalVariable>(GV)) {
|
||||
if (GV->getName().startswith("llvm."))
|
||||
Res |= BasicSymbolRef::SF_FormatSpecific;
|
||||
else if (auto *Var = dyn_cast<GlobalVariable>(GV)) {
|
||||
if (Var->getSection() == StringRef("llvm.metadata"))
|
||||
Res |= BasicSymbolRef::SF_FormatSpecific;
|
||||
}
|
||||
|
||||
if (auto *F = dyn_cast<Function>(GV)) {
|
||||
if (F->getName().startswith("llvm."))
|
||||
Res |= BasicSymbolRef::SF_FormatSpecific;
|
||||
}
|
||||
|
||||
return Res;
|
||||
}
|
||||
|
||||
|
@ -13,3 +13,4 @@ declare void @SomeOtherFunction(...)
|
||||
|
||||
@var = global i32 0
|
||||
@llvm.used = appending global [1 x i8*] [i8* bitcast (i32* @var to i8*)], section "llvm.metadata"
|
||||
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* null, i8* null }]
|
||||
|
Loading…
Reference in New Issue
Block a user