llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.

- Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80484 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index fa7c7cf..e5899fc 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/lib/MC/MCAsmStreamer.cpp
@@ -53,13 +53,11 @@
 
   virtual void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue);
 
-  virtual void EmitLocalSymbol(MCSymbol *Symbol, const MCValue &Value);
-
   virtual void EmitCommonSymbol(MCSymbol *Symbol, unsigned Size,
-                                unsigned Pow2Alignment);
+                                unsigned ByteAlignment);
 
   virtual void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = 0,
-                            unsigned Size = 0, unsigned Pow2Alignment = 0);
+                            unsigned Size = 0, unsigned ByteAlignment = 0);
 
   virtual void EmitBytes(const StringRef &Data);
 
@@ -173,21 +171,17 @@
   OS << ".desc" << ' ' << Symbol << ',' << DescValue << '\n';
 }
 
-void MCAsmStreamer::EmitLocalSymbol(MCSymbol *Symbol, const MCValue &Value) {
-  OS << ".lsym" << ' ' << Symbol << ',' << Value << '\n';
-}
-
 void MCAsmStreamer::EmitCommonSymbol(MCSymbol *Symbol, unsigned Size,
-                                     unsigned Pow2Alignment) {
+                                     unsigned ByteAlignment) {
   OS << ".comm";
   OS << ' ' << Symbol << ',' << Size;
-  if (Pow2Alignment != 0)
-    OS << ',' << Pow2Alignment;
+  if (ByteAlignment != 0)
+    OS << ',' << Log2_32(ByteAlignment);
   OS << '\n';
 }
 
 void MCAsmStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol,
-                                 unsigned Size, unsigned Pow2Alignment) {
+                                 unsigned Size, unsigned ByteAlignment) {
   // Note: a .zerofill directive does not switch sections.
   OS << ".zerofill ";
   
@@ -197,8 +191,8 @@
   
   if (Symbol != NULL) {
     OS << ',' << Symbol << ',' << Size;
-    if (Pow2Alignment != 0)
-      OS << ',' << Pow2Alignment;
+    if (ByteAlignment != 0)
+      OS << ',' << Log2_32(ByteAlignment);
   }
   OS << '\n';
 }
diff --git a/lib/MC/MCMachOStreamer.cpp b/lib/MC/MCMachOStreamer.cpp
index 4ac0917..41c82b3 100644
--- a/lib/MC/MCMachOStreamer.cpp
+++ b/lib/MC/MCMachOStreamer.cpp
@@ -111,13 +111,11 @@
 
   virtual void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue);
 
-  virtual void EmitLocalSymbol(MCSymbol *Symbol, const MCValue &Value);
-
   virtual void EmitCommonSymbol(MCSymbol *Symbol, unsigned Size,
-                                unsigned Pow2Alignment);
+                                unsigned ByteAlignment);
 
   virtual void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = 0,
-                            unsigned Size = 0, unsigned Pow2Alignment = 0);
+                            unsigned Size = 0, unsigned ByteAlignment = 0);
 
   virtual void EmitBytes(const StringRef &Data);
 
@@ -266,24 +264,18 @@
   getSymbolData(*Symbol).setFlags(DescValue & SF_DescFlagsMask);
 }
 
-void MCMachOStreamer::EmitLocalSymbol(MCSymbol *Symbol, const MCValue &Value) {
-  // FIXME: Implement?
-  llvm_report_error("unsupported '.lsym' directive");
-}
-
 void MCMachOStreamer::EmitCommonSymbol(MCSymbol *Symbol, unsigned Size,
-                                       unsigned Pow2Alignment) {
+                                       unsigned ByteAlignment) {
   // FIXME: Darwin 'as' does appear to allow redef of a .comm by itself.
   assert(Symbol->isUndefined() && "Cannot define a symbol twice!");
 
   MCSymbolData &SD = getSymbolData(*Symbol);
   SD.setExternal(true);
-  SD.setCommon(Size, 1 << Pow2Alignment);
+  SD.setCommon(Size, ByteAlignment);
 }
 
 void MCMachOStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol,
-                                   unsigned Size, unsigned Pow2Alignment) {
-  unsigned ByteAlignment = 1 << Pow2Alignment;
+                                   unsigned Size, unsigned ByteAlignment) {
   MCSectionData &SectData = getSectionData(*Section);
 
   // The symbol may not be present, which only creates the section.
@@ -296,7 +288,7 @@
 
   MCSymbolData &SD = getSymbolData(*Symbol);
 
-  MCFragment *F = new MCZeroFillFragment(Size, 1 << Pow2Alignment, &SectData);
+  MCFragment *F = new MCZeroFillFragment(Size, ByteAlignment, &SectData);
   SD.setFragment(F);
 
   Symbol->setSection(*Section);
diff --git a/lib/MC/MCNullStreamer.cpp b/lib/MC/MCNullStreamer.cpp
index fa2aec3..d4ca3d9 100644
--- a/lib/MC/MCNullStreamer.cpp
+++ b/lib/MC/MCNullStreamer.cpp
@@ -41,13 +41,11 @@
 
     virtual void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) {}
 
-    virtual void EmitLocalSymbol(MCSymbol *Symbol, const MCValue &Value) {}
-
     virtual void EmitCommonSymbol(MCSymbol *Symbol, unsigned Size,
-                                  unsigned Pow2Alignment) {}
+                                  unsigned ByteAlignment) {}
 
     virtual void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = 0,
-                              unsigned Size = 0, unsigned Pow2Alignment = 0) {}
+                              unsigned Size = 0, unsigned ByteAlignment = 0) {}
 
     virtual void EmitBytes(const StringRef &Data) {}