mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-13 15:37:24 +00:00
mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93860 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9744d611d7
commit
4ed5438f48
@ -169,26 +169,23 @@ void AsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
|
||||
O.PadToColumn(MAI->getCommentColumn());
|
||||
O << MAI->getCommentString() << ' ';
|
||||
WriteAsOperand(O, GV, /*PrintType=*/false, GV->getParent());
|
||||
O << '\n';
|
||||
}
|
||||
if (GVKind.isCommon()) {
|
||||
// .comm _foo, 42, 4
|
||||
O << MAI->getCOMMDirective() << *GVSym << ',' << Size;
|
||||
if (MAI->getCOMMDirectiveTakesAlignment())
|
||||
O << ',' << (MAI->getAlignmentIsInBytes() ? (1 << AlignLog) : AlignLog);
|
||||
OutStreamer.EmitCommonSymbol(GVSym, Size, 1 << AlignLog);
|
||||
} else if (const char *LComm = MAI->getLCOMMDirective()) {
|
||||
// .lcomm _foo, 42, 4
|
||||
O << LComm << *GVSym << ',' << Size;
|
||||
if (MAI->getLCOMMDirectiveTakesAlignment())
|
||||
O << ',' << AlignLog;
|
||||
O << '\n';
|
||||
} else {
|
||||
// .local _foo
|
||||
O << "\t.local\t" << *GVSym << '\n';
|
||||
// .comm _foo, 42, 4
|
||||
O << MAI->getCOMMDirective() << *GVSym << ',' << Size;
|
||||
if (MAI->getCOMMDirectiveTakesAlignment())
|
||||
O << ',' << (MAI->getAlignmentIsInBytes() ? (1 << AlignLog) : AlignLog);
|
||||
OutStreamer.EmitCommonSymbol(GVSym, Size, 1 << AlignLog);
|
||||
}
|
||||
O << '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -151,9 +151,13 @@ void MCAsmStreamer::EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) {
|
||||
|
||||
void MCAsmStreamer::EmitCommonSymbol(MCSymbol *Symbol, unsigned Size,
|
||||
unsigned ByteAlignment) {
|
||||
OS << ".comm " << *Symbol << ',' << Size;
|
||||
if (ByteAlignment != 0)
|
||||
OS << ',' << Log2_32(ByteAlignment);
|
||||
OS << MAI.getCOMMDirective() << *Symbol << ',' << Size;
|
||||
if (ByteAlignment != 0 && MAI.getCOMMDirectiveTakesAlignment()) {
|
||||
if (MAI.getAlignmentIsInBytes())
|
||||
OS << ',' << ByteAlignment;
|
||||
else
|
||||
OS << ',' << Log2_32(ByteAlignment);
|
||||
}
|
||||
OS << '\n';
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user