mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
move getNameWithPrefix and getSymbol to TargetMachine.
TargetLoweringBase is implemented in CodeGen, so before this patch we had a dependency fom Target to CodeGen. This would show up as a link failure of llvm-stress when building with -DBUILD_SHARED_LIBS=ON. This fixes pr18900. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201711 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1428,30 +1428,3 @@ bool TargetLoweringBase::isLegalAddressingMode(const AddrMode &AM,
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void TargetLoweringBase::getNameWithPrefix(SmallVectorImpl<char> &Name,
|
||||
const GlobalValue *GV,
|
||||
Mangler &Mang,
|
||||
bool MayAlwaysUsePrivate) const {
|
||||
if (MayAlwaysUsePrivate || !GV->hasPrivateLinkage()) {
|
||||
// Simple case: If GV is not private, it is not important to find out if
|
||||
// private labels are legal in this case or not.
|
||||
Mang.getNameWithPrefix(Name, GV, false);
|
||||
return;
|
||||
}
|
||||
SectionKind GVKind =
|
||||
TargetLoweringObjectFile::getKindForGlobal(GV, getTargetMachine());
|
||||
const TargetLoweringObjectFile &TLOF = getObjFileLowering();
|
||||
const MCSection *TheSection =
|
||||
TLOF.SectionForGlobal(GV, GVKind, Mang, getTargetMachine());
|
||||
bool CannotUsePrivateLabel = TLOF.isSectionAtomizableBySymbols(*TheSection);
|
||||
Mang.getNameWithPrefix(Name, GV, CannotUsePrivateLabel);
|
||||
}
|
||||
|
||||
MCSymbol *TargetLoweringBase::getSymbol(const GlobalValue *GV,
|
||||
Mangler &Mang) const {
|
||||
SmallString<60> NameStr;
|
||||
getNameWithPrefix(NameStr, GV, Mang);
|
||||
const TargetLoweringObjectFile &TLOF = getObjFileLowering();
|
||||
return TLOF.getContext().GetOrCreateSymbol(NameStr.str());
|
||||
}
|
||||
|
Reference in New Issue
Block a user