mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-13 09:33:50 +00:00
Remove unnecessary uses of AliasedSymbol.
As pr19627 points out, every use of AliasedSymbol is likely a bug. The main use was to avoid the oddity of a variable showing up as undefined. That was fixed in r233995, which made these calls nops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234169 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1f1fecb823
commit
e17e7a2400
@ -497,8 +497,7 @@ bool MCAssembler::evaluateFixup(const MCAsmLayout &Layout,
|
||||
} else {
|
||||
const MCSymbolRefExpr *A = Target.getSymA();
|
||||
const MCSymbol &SA = A->getSymbol();
|
||||
if (A->getKind() != MCSymbolRefExpr::VK_None ||
|
||||
SA.AliasedSymbol().isUndefined()) {
|
||||
if (A->getKind() != MCSymbolRefExpr::VK_None || SA.isUndefined()) {
|
||||
IsResolved = false;
|
||||
} else {
|
||||
const MCSymbolData &DataA = getSymbolData(SA);
|
||||
@ -513,12 +512,12 @@ bool MCAssembler::evaluateFixup(const MCAsmLayout &Layout,
|
||||
Value = Target.getConstant();
|
||||
|
||||
if (const MCSymbolRefExpr *A = Target.getSymA()) {
|
||||
const MCSymbol &Sym = A->getSymbol().AliasedSymbol();
|
||||
const MCSymbol &Sym = A->getSymbol();
|
||||
if (Sym.isDefined())
|
||||
Value += Layout.getSymbolOffset(&getSymbolData(Sym));
|
||||
}
|
||||
if (const MCSymbolRefExpr *B = Target.getSymB()) {
|
||||
const MCSymbol &Sym = B->getSymbol().AliasedSymbol();
|
||||
const MCSymbol &Sym = B->getSymbol();
|
||||
if (Sym.isDefined())
|
||||
Value -= Layout.getSymbolOffset(&getSymbolData(Sym));
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ bool MCObjectWriter::IsSymbolRefDifferenceFullyResolved(
|
||||
|
||||
const MCSymbol &SA = A->getSymbol();
|
||||
const MCSymbol &SB = B->getSymbol();
|
||||
if (SA.AliasedSymbol().isUndefined() || SB.AliasedSymbol().isUndefined())
|
||||
if (SA.isUndefined() || SB.isUndefined())
|
||||
return false;
|
||||
|
||||
const MCSymbolData &DataA = Asm.getSymbolData(SA);
|
||||
@ -43,7 +43,7 @@ bool MCObjectWriter::IsSymbolRefDifferenceFullyResolvedImpl(
|
||||
const MCAssembler &Asm, const MCSymbolData &DataA,
|
||||
const MCSymbolData *DataB, const MCFragment &FB, bool InSet,
|
||||
bool IsPCRel) const {
|
||||
const MCSection &SecA = DataA.getSymbol().AliasedSymbol().getSection();
|
||||
const MCSection &SecA = DataA.getSymbol().getSection();
|
||||
const MCSection &SecB = FB.getParent()->getSection();
|
||||
// On ELF and COFF A - B is absolute if A and B are in the same section.
|
||||
return &SecA == &SecB;
|
||||
|
@ -589,7 +589,7 @@ void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
|
||||
(unsigned)Fixup.getKind() != ARM::fixup_t2_adr_pcrel_12 &&
|
||||
(unsigned)Fixup.getKind() != ARM::fixup_arm_thumb_cp) {
|
||||
if (A) {
|
||||
const MCSymbol &Sym = A->getSymbol().AliasedSymbol();
|
||||
const MCSymbol &Sym = A->getSymbol();
|
||||
if (Asm.isThumbFunc(&Sym))
|
||||
Value |= 1;
|
||||
}
|
||||
@ -598,7 +598,7 @@ void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
|
||||
// the basic blocks of the same function. Thus, we would like to resolve
|
||||
// the offset when the destination has the same MCFragment.
|
||||
if (A && (unsigned)Fixup.getKind() == ARM::fixup_arm_thumb_bl) {
|
||||
const MCSymbol &Sym = A->getSymbol().AliasedSymbol();
|
||||
const MCSymbol &Sym = A->getSymbol();
|
||||
const MCSymbolData &SymData = Asm.getSymbolData(Sym);
|
||||
IsResolved = (SymData.getFragment() == DF);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user