[llvm] r346494 - [Hexagon] Handle Hexagon's SHF_HEX_GPREL section flag

Krzysztof Parzyszek via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 9 06:17:27 PST 2018


Author: kparzysz
Date: Fri Nov  9 06:17:27 2018
New Revision: 346494

URL: http://llvm.org/viewvc/llvm-project?rev=346494&view=rev
Log:
[Hexagon] Handle Hexagon's SHF_HEX_GPREL section flag

Added:
    llvm/trunk/test/MC/Hexagon/gprel-shflag.s
Modified:
    llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp
    llvm/trunk/lib/MC/MCSectionELF.cpp

Modified: llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp?rev=346494&r1=346493&r2=346494&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp Fri Nov  9 06:17:27 2018
@@ -321,6 +321,9 @@ static unsigned parseSectionFlags(String
     case 'y':
       flags |= ELF::SHF_ARM_PURECODE;
       break;
+    case 's':
+      flags |= ELF::SHF_HEX_GPREL;
+      break;
     case 'G':
       flags |= ELF::SHF_GROUP;
       break;

Modified: llvm/trunk/lib/MC/MCSectionELF.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCSectionELF.cpp?rev=346494&r1=346493&r2=346494&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCSectionELF.cpp (original)
+++ llvm/trunk/lib/MC/MCSectionELF.cpp Fri Nov  9 06:17:27 2018
@@ -116,6 +116,9 @@ void MCSectionELF::PrintSwitchToSection(
   } else if (T.isARM() || T.isThumb()) {
     if (Flags & ELF::SHF_ARM_PURECODE)
       OS << 'y';
+  } else if (Arch == Triple::hexagon) {
+    if (Flags & ELF::SHF_HEX_GPREL)
+      OS << 's';
   }
 
   OS << '"';

Added: llvm/trunk/test/MC/Hexagon/gprel-shflag.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Hexagon/gprel-shflag.s?rev=346494&view=auto
==============================================================================
--- llvm/trunk/test/MC/Hexagon/gprel-shflag.s (added)
+++ llvm/trunk/test/MC/Hexagon/gprel-shflag.s Fri Nov  9 06:17:27 2018
@@ -0,0 +1,10 @@
+# RUN: llvm-mc -arch=hexagon -filetype=asm %s | FileCheck %s
+
+# Make sure the assembler can parse and print the "s" flag for Hexaon's
+# small-data section.
+# CHECK: .section .sdata,"aws", at progbits
+
+  .section ".sdata", "aws", @progbits
+var:
+  .word 0
+




More information about the llvm-commits mailing list