[PATCH] [mips] [IAS] Preserve microMIPS label marking for objects when assigning.

Toma Tabacu toma.tabacu at imgtec.com
Mon Mar 2 08:08:10 PST 2015


Hi dsanders,

Previously, this was only happening for functions, but because of .insn, objects can also be marked now.

This patch depends on http://reviews.llvm.org/D8006.

http://reviews.llvm.org/D8007

Files:
  lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
  test/MC/Mips/micromips-alias.s

Index: lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
===================================================================
--- lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
+++ lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
@@ -505,9 +505,8 @@
   const MCSymbol &RhsSym =
       static_cast<const MCSymbolRefExpr *>(Value)->getSymbol();
   MCSymbolData &Data = getStreamer().getOrCreateSymbolData(&RhsSym);
-  uint8_t Type = MCELF::GetType(Data);
-  if ((Type != ELF::STT_FUNC) ||
-      !(MCELF::getOther(Data) & (ELF::STO_MIPS_MICROMIPS >> 2)))
+
+  if (!(MCELF::getOther(Data) & (ELF::STO_MIPS_MICROMIPS >> 2)))
     return;
 
   MCSymbolData &SymbolData = getStreamer().getOrCreateSymbolData(Symbol);
Index: test/MC/Mips/micromips-alias.s
===================================================================
--- test/MC/Mips/micromips-alias.s
+++ test/MC/Mips/micromips-alias.s
@@ -14,3 +14,15 @@
   nop
   .globl bar
 bar = f
+
+# CHECK: Name: foo
+# CHECK: Other: 128
+  .type  o, at object
+  .set   micromips
+o:
+  .insn
+  .word 0x00000000
+  .set   nomicromips
+
+  .globl foo
+foo = o

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8007.21009.patch
Type: text/x-patch
Size: 1108 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150302/00834843/attachment.bin>


More information about the llvm-commits mailing list