[llvm] b43bec1 - [ARM] Add Tag_CPU_arch missing value descriptions in attribute parser

Victor Campos via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 26 00:32:47 PDT 2022


Author: Victor Campos
Date: 2022-07-26T08:32:40+01:00
New Revision: b43bec19b975c7d1598dac67c12994a6365f2013

URL: https://github.com/llvm/llvm-project/commit/b43bec19b975c7d1598dac67c12994a6365f2013
DIFF: https://github.com/llvm/llvm-project/commit/b43bec19b975c7d1598dac67c12994a6365f2013.diff

LOG: [ARM] Add Tag_CPU_arch missing value descriptions in attribute parser

The ARM attribute parser for Tag_CPU_arch is missing value descriptions
for Armv8-A and Armv8-R.

This patch adds these descriptions.

Reviewed By: pratlucas

Differential Revision: https://reviews.llvm.org/D129631

Added: 
    llvm/test/MC/ARM/directive-eabi_attribute-cpu_arch-armv8a.s
    llvm/test/MC/ARM/directive-eabi_attribute-cpu_arch-armv8r.s

Modified: 
    llvm/lib/Support/ARMAttributeParser.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Support/ARMAttributeParser.cpp b/llvm/lib/Support/ARMAttributeParser.cpp
index adb5d3f0964d0..03c0c7aac4235 100644
--- a/llvm/lib/Support/ARMAttributeParser.cpp
+++ b/llvm/lib/Support/ARMAttributeParser.cpp
@@ -85,7 +85,7 @@ Error ARMAttributeParser::CPU_arch(AttrType tag) {
   static const char *strings[] = {
     "Pre-v4", "ARM v4", "ARM v4T", "ARM v5T", "ARM v5TE", "ARM v5TEJ", "ARM v6",
     "ARM v6KZ", "ARM v6T2", "ARM v6K", "ARM v7", "ARM v6-M", "ARM v6S-M",
-    "ARM v7E-M", "ARM v8", nullptr,
+    "ARM v7E-M", "ARM v8-A", "ARM v8-R",
     "ARM v8-M Baseline", "ARM v8-M Mainline", nullptr, nullptr, nullptr,
     "ARM v8.1-M Mainline", "ARM v9-A"
   };

diff  --git a/llvm/test/MC/ARM/directive-eabi_attribute-cpu_arch-armv8a.s b/llvm/test/MC/ARM/directive-eabi_attribute-cpu_arch-armv8a.s
new file mode 100644
index 0000000000000..d8849aa3695b4
--- /dev/null
+++ b/llvm/test/MC/ARM/directive-eabi_attribute-cpu_arch-armv8a.s
@@ -0,0 +1,11 @@
+@ RUN: llvm-mc -triple arm -filetype asm -o - %s | FileCheck %s
+@ RUN: llvm-mc -triple arm -filetype obj -o - %s | llvm-readobj -A - | \
+@ RUN: FileCheck %s --check-prefix=CHECK-OBJ
+
+.eabi_attribute Tag_CPU_arch, 14
+@ CHECK:          .eabi_attribute 6, 14 @ Tag_CPU_arch
+@ CHECK-OBJ:      Attribute
+@ CHECK-OBJ: Tag: 6
+@ CHECK-OBJ-NEXT: Value: 14
+@ CHECK-OBJ-NEXT: TagName: CPU_arch
+@ CHECK-OBJ-NEXT: Description: ARM v8-A

diff  --git a/llvm/test/MC/ARM/directive-eabi_attribute-cpu_arch-armv8r.s b/llvm/test/MC/ARM/directive-eabi_attribute-cpu_arch-armv8r.s
new file mode 100644
index 0000000000000..7a6c666daa60d
--- /dev/null
+++ b/llvm/test/MC/ARM/directive-eabi_attribute-cpu_arch-armv8r.s
@@ -0,0 +1,11 @@
+@ RUN: llvm-mc -triple arm -filetype asm -o - %s | FileCheck %s
+@ RUN: llvm-mc -triple arm -filetype obj -o - %s | llvm-readobj -A - | \
+@ RUN: FileCheck %s --check-prefix=CHECK-OBJ
+
+.eabi_attribute Tag_CPU_arch, 15
+@ CHECK:          .eabi_attribute 6, 15 @ Tag_CPU_arch
+@ CHECK-OBJ:      Attribute
+@ CHECK-OBJ: Tag: 6
+@ CHECK-OBJ-NEXT: Value: 15
+@ CHECK-OBJ-NEXT: TagName: CPU_arch
+@ CHECK-OBJ-NEXT: Description: ARM v8-R


        


More information about the llvm-commits mailing list