[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