[llvm] 558d9e8 - [llvm][ARM] Treat xscale arch as an alias of armv5te

David Spickett via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 28 08:20:31 PDT 2021


Author: David Spickett
Date: 2021-06-28T15:20:24Z
New Revision: 558d9e82283e6b053b18091de6e56a5e208b7036

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

LOG: [llvm][ARM] Treat xscale arch as an alias of armv5te

Previously xscale was known to everything apart
from the ELF streamer so we would crash as soon
as you tried to output an object file.

Reviewed By: nickdesaulniers

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

Added: 
    llvm/test/MC/ARM/directive-arch-xscale.s

Modified: 
    llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
index 5d3342a887d6..e294748e5ce7 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
@@ -834,6 +834,7 @@ void ARMTargetELFStreamer::emitArchDefaultAttributes() {
 
   case ARM::ArchKind::ARMV4T:
   case ARM::ArchKind::ARMV5T:
+  case ARM::ArchKind::XSCALE:
   case ARM::ArchKind::ARMV5TE:
   case ARM::ArchKind::ARMV6:
     setAttributeItem(ARM_ISA_use, Allowed, false);

diff  --git a/llvm/test/MC/ARM/directive-arch-xscale.s b/llvm/test/MC/ARM/directive-arch-xscale.s
new file mode 100644
index 000000000000..391b47801857
--- /dev/null
+++ b/llvm/test/MC/ARM/directive-arch-xscale.s
@@ -0,0 +1,34 @@
+@@ Test the .arch directive for xscale
+
+@@ This test case will check the default .ARM.attributes value for the
+@@ xscale architecture.
+
+@ RUN: llvm-mc -triple arm-eabi -filetype asm %s \
+@ RUN:   | FileCheck %s -check-prefix CHECK-ASM
+@ RUN: llvm-mc -triple arm-eabi -filetype obj %s \
+@ RUN:   | llvm-readobj --arch-specific - | FileCheck %s -check-prefix CHECK-ATTR
+
+	.syntax	unified
+	.arch	xscale
+
+@ CHECK-ASM: 	.arch	xscale
+
+@ CHECK-ATTR: FileAttributes {
+@ CHECK-ATTR:   Attribute {
+@ CHECK-ATTR:     TagName: CPU_name
+@ CHECK-ATTR:     Value: xscale
+@ CHECK-ATTR:   }
+@ CHECK-ATTR:   Attribute {
+@ CHECK-ATTR:     TagName: CPU_arch
+@ CHECK-ATTR:     Description: ARM v5TE
+@ CHECK-ATTR:   }
+@ CHECK-ATTR:   Attribute {
+@ CHECK-ATTR:     TagName: ARM_ISA_use
+@ CHECK-ATTR:     Description: Permitted
+@ CHECK-ATTR:   }
+@ CHECK-ATTR:   Attribute {
+@ CHECK-ATTR:     TagName: THUMB_ISA_use
+@ CHECK-ATTR:     Description: Thumb-1
+@ CHECK-ATTR:   }
+@ CHECK-ATTR: }
+


        


More information about the llvm-commits mailing list