Skip to content

Commit b9e3f5f

Browse files
committed
[Alignment][NFC] Use Align for MCStreamer::emitXCOFFLocalCommonSymbol
Differential Revision: https://reviews.llvm.org/D138669
1 parent a1bbe8a commit b9e3f5f

File tree

6 files changed

+10
-15
lines changed

6 files changed

+10
-15
lines changed

llvm/include/llvm/MC/MCStreamer.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -603,11 +603,9 @@ class MCStreamer {
603603
/// \param LabelSym - Label on the block of storage.
604604
/// \param Size - The size of the block of storage.
605605
/// \param CsectSym - Csect name for the block of storage.
606-
/// \param ByteAlignment - The alignment of the symbol in bytes. Must be a
607-
/// power of 2.
606+
/// \param Alignment - The alignment of the symbol in bytes.
608607
virtual void emitXCOFFLocalCommonSymbol(MCSymbol *LabelSym, uint64_t Size,
609-
MCSymbol *CsectSym,
610-
unsigned ByteAlignment);
608+
MCSymbol *CsectSym, Align Alignment);
611609

612610
/// Emit a symbol's linkage and visibility with a linkage directive for XCOFF.
613611
///

llvm/include/llvm/MC/MCXCOFFStreamer.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ class MCXCOFFStreamer : public MCObjectStreamer {
2727
SMLoc Loc = SMLoc()) override;
2828
void emitInstToData(const MCInst &Inst, const MCSubtargetInfo &) override;
2929
void emitXCOFFLocalCommonSymbol(MCSymbol *LabelSym, uint64_t Size,
30-
MCSymbol *CsectSym,
31-
unsigned ByteAlign) override;
30+
MCSymbol *CsectSym, Align Alignment) override;
3231
void emitXCOFFSymbolLinkageWithVisibility(MCSymbol *Symbol,
3332
MCSymbolAttr Linkage,
3433
MCSymbolAttr Visibility) override;

llvm/lib/MC/MCAsmStreamer.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,7 @@ class MCAsmStreamer final : public MCStreamer {
187187
void emitCOFFSecRel32(MCSymbol const *Symbol, uint64_t Offset) override;
188188
void emitCOFFImgRel32(MCSymbol const *Symbol, int64_t Offset) override;
189189
void emitXCOFFLocalCommonSymbol(MCSymbol *LabelSym, uint64_t Size,
190-
MCSymbol *CsectSym,
191-
unsigned ByteAlign) override;
190+
MCSymbol *CsectSym, Align Alignment) override;
192191
void emitXCOFFSymbolLinkageWithVisibility(MCSymbol *Symbol,
193192
MCSymbolAttr Linakge,
194193
MCSymbolAttr Visibility) override;
@@ -859,16 +858,15 @@ void MCAsmStreamer::emitCOFFImgRel32(MCSymbol const *Symbol, int64_t Offset) {
859858
void MCAsmStreamer::emitXCOFFLocalCommonSymbol(MCSymbol *LabelSym,
860859
uint64_t Size,
861860
MCSymbol *CsectSym,
862-
unsigned ByteAlignment) {
861+
Align Alignment) {
863862
assert(MAI->getLCOMMDirectiveAlignmentType() == LCOMM::Log2Alignment &&
864863
"We only support writing log base-2 alignment format with XCOFF.");
865-
assert(isPowerOf2_32(ByteAlignment) && "Alignment must be a power of 2.");
866864

867865
OS << "\t.lcomm\t";
868866
LabelSym->print(OS, MAI);
869867
OS << ',' << Size << ',';
870868
CsectSym->print(OS, MAI);
871-
OS << ',' << Log2_32(ByteAlignment);
869+
OS << ',' << Log2(Alignment);
872870

873871
EmitEOL();
874872

llvm/lib/MC/MCStreamer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1170,7 +1170,7 @@ void MCStreamer::emitCOFFSymbolType(int Type) {
11701170
}
11711171
void MCStreamer::emitXCOFFLocalCommonSymbol(MCSymbol *LabelSym, uint64_t Size,
11721172
MCSymbol *CsectSym,
1173-
unsigned ByteAlign) {
1173+
Align Alignment) {
11741174
llvm_unreachable("this directive only supported on XCOFF targets");
11751175
}
11761176

llvm/lib/MC/MCXCOFFStreamer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,6 @@ MCStreamer *llvm::createXCOFFStreamer(MCContext &Context,
149149
void MCXCOFFStreamer::emitXCOFFLocalCommonSymbol(MCSymbol *LabelSym,
150150
uint64_t Size,
151151
MCSymbol *CsectSym,
152-
unsigned ByteAlignment) {
153-
emitCommonSymbol(CsectSym, Size, ByteAlignment);
152+
Align Alignment) {
153+
emitCommonSymbol(CsectSym, Size, Alignment.value());
154154
}

llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2432,7 +2432,7 @@ void PPCAIXAsmPrinter::emitGlobalVariableHelper(const GlobalVariable *GV) {
24322432
if (GVKind.isBSSLocal() || GVKind.isThreadBSSLocal())
24332433
OutStreamer->emitXCOFFLocalCommonSymbol(
24342434
OutContext.getOrCreateSymbol(GVSym->getSymbolTableName()), Size,
2435-
GVSym, Alignment.value());
2435+
GVSym, Alignment);
24362436
else
24372437
OutStreamer->emitCommonSymbol(GVSym, Size, Alignment.value());
24382438
return;

0 commit comments

Comments
 (0)