[llvm] r343594 - [ARM] Emmit data symbol for constant pool data

Diogo N. Sampaio via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 2 07:55:48 PDT 2018


Author: dnsampaio
Date: Tue Oct  2 07:55:48 2018
New Revision: 343594

URL: http://llvm.org/viewvc/llvm-project?rev=343594&view=rev
Log:
[ARM] Emmit data symbol for constant pool data

The ARM elf emitter would omit printing data
symbol when constant data. This patch
overrides the emitFill method as to enforce that
the symbol is correctly printed.

Differential revision: https://reviews.llvm.org/D52737


Added:
    llvm/trunk/test/MC/ARM/CheckDataSymbol.s
Modified:
    llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp

Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp?rev=343594&r1=343593&r2=343594&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp (original)
+++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp Tue Oct  2 07:55:48 2018
@@ -465,6 +465,11 @@ public:
   void emitPad(int64_t Offset);
   void emitRegSave(const SmallVectorImpl<unsigned> &RegList, bool isVector);
   void emitUnwindRaw(int64_t Offset, const SmallVectorImpl<uint8_t> &Opcodes);
+  void emitFill(const MCExpr &NumBytes, uint64_t FillValue,
+                SMLoc Loc) override {
+    EmitDataMappingSymbol();
+    MCObjectStreamer::emitFill(NumBytes, FillValue, Loc);
+  }
 
   void ChangeSection(MCSection *Section, const MCExpr *Subsection) override {
     LastMappingSymbols[getCurrentSection().first] = std::move(LastEMSInfo);

Added: llvm/trunk/test/MC/ARM/CheckDataSymbol.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/CheckDataSymbol.s?rev=343594&view=auto
==============================================================================
--- llvm/trunk/test/MC/ARM/CheckDataSymbol.s (added)
+++ llvm/trunk/test/MC/ARM/CheckDataSymbol.s Tue Oct  2 07:55:48 2018
@@ -0,0 +1,15 @@
+# RUN: llvm-mc -filetype=obj -assemble \
+# RUN: -triple=arm-arm-none-eabi -mcpu=cortex-a9 %s -o - \
+# RUN: | llvm-readobj -s -t - | FileCheck %s
+# CHECK:     Name: $d.1 ({{[1-9][0-9]+}})
+# CHECK-NEXT:     Value: 0x4
+# CHECK-NEXT:     Size: 0
+# CHECK-NEXT:     Binding: Local (0x0)
+# CHECK-NEXT:     Type: None (0x0)
+# CHECK-NEXT:     Other: 0
+# CHECK-NEXT:     Section: .text (0x2)
+# CHECK-NEXT:   }
+
+.text
+nop
+.zero 4




More information about the llvm-commits mailing list