mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-14 17:34:41 +00:00
mcize uses of PrintRelDirective and eliminate it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98107 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4aeaca4053
commit
90e4af7b9d
@ -886,13 +886,11 @@ void DwarfException::EmitExceptionTable() {
|
||||
I = TypeInfos.rbegin(), E = TypeInfos.rend(); I != E; ++I) {
|
||||
const GlobalVariable *GV = *I;
|
||||
|
||||
if (GV) {
|
||||
Asm->OutStreamer.AddComment("TypeInfo");
|
||||
Asm->OutStreamer.AddComment("TypeInfo");
|
||||
if (GV)
|
||||
EmitReference(GV, TTypeEncoding);
|
||||
} else {
|
||||
PrintRelDirective(TTypeEncoding);
|
||||
O << "0x0\n";
|
||||
}
|
||||
else
|
||||
Asm->OutStreamer.EmitIntValue(0, SizeOfEncodedValue(TTypeEncoding), 0);
|
||||
}
|
||||
|
||||
// Emit the Exception Specifications.
|
||||
|
@ -77,14 +77,6 @@ unsigned DwarfPrinter::SizeOfEncodedValue(unsigned Encoding) const {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void DwarfPrinter::PrintRelDirective(unsigned Encoding) const {
|
||||
unsigned Size = SizeOfEncodedValue(Encoding);
|
||||
assert((Size == 4 || Size == 8) && "Do not support other types or rels!");
|
||||
|
||||
O << (Size == 4 ?
|
||||
MAI->getData32bitsDirective() : MAI->getData64bitsDirective());
|
||||
}
|
||||
|
||||
static const char *DecodeDWARFEncoding(unsigned Encoding) {
|
||||
switch (Encoding) {
|
||||
case dwarf::DW_EH_PE_absptr: return "absptr";
|
||||
@ -215,16 +207,16 @@ void DwarfPrinter::EmitReference(const MCSymbol *Sym, bool IsPCRelative,
|
||||
void DwarfPrinter::EmitReference(const MCSymbol *Sym, unsigned Encoding) const {
|
||||
const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering();
|
||||
|
||||
PrintRelDirective(Encoding);
|
||||
O << *TLOF.getSymbolForDwarfReference(Sym, Asm->MMI, Encoding);
|
||||
const MCExpr *Exp = TLOF.getSymbolForDwarfReference(Sym, Asm->MMI, Encoding);
|
||||
Asm->OutStreamer.EmitValue(Exp, SizeOfEncodedValue(Encoding), /*addrspace*/0);
|
||||
}
|
||||
|
||||
void DwarfPrinter::EmitReference(const GlobalValue *GV, unsigned Encoding)const{
|
||||
const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering();
|
||||
|
||||
PrintRelDirective(Encoding);
|
||||
O << *TLOF.getSymbolForDwarfGlobalReference(GV, Asm->Mang,
|
||||
Asm->MMI, Encoding);
|
||||
const MCExpr *Exp =
|
||||
TLOF.getSymbolForDwarfGlobalReference(GV, Asm->Mang, Asm->MMI, Encoding);
|
||||
Asm->OutStreamer.EmitValue(Exp, SizeOfEncodedValue(Encoding), /*addrspace*/0);
|
||||
}
|
||||
|
||||
/// EmitDifference - Emit the difference between two labels. If this assembler
|
||||
|
@ -88,8 +88,6 @@ public:
|
||||
/// SizeOfEncodedValue - Return the size of the encoding in bytes.
|
||||
unsigned SizeOfEncodedValue(unsigned Encoding) const;
|
||||
|
||||
void PrintRelDirective(unsigned Encoding) const;
|
||||
|
||||
/// EmitEncodingByte - Emit a .byte 42 directive that corresponds to an
|
||||
/// encoding. If verbose assembly output is enabled, we output comments
|
||||
/// describing the encoding. Desc is a string saying what the encoding is
|
||||
|
Loading…
x
Reference in New Issue
Block a user