[llvm] r199576 - ARM: update build attributes for ABI r2.09
Saleem Abdulrasool
compnerd at compnerd.org
Sun Jan 19 00:25:36 PST 2014
Author: compnerd
Date: Sun Jan 19 02:25:35 2014
New Revision: 199576
URL: http://llvm.org/viewvc/llvm-project?rev=199576&view=rev
Log:
ARM: update build attributes for ABI r2.09
Update names for the names as per the current ABI errata. Mark deprecated tags
as such.
Modified:
llvm/trunk/include/llvm/Support/ARMBuildAttributes.h
llvm/trunk/lib/Support/ARMBuildAttrs.cpp
llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
llvm/trunk/test/CodeGen/ARM/build-attributes.ll
llvm/trunk/test/MC/ARM/directive-eabi_attribute-2.s
Modified: llvm/trunk/include/llvm/Support/ARMBuildAttributes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/ARMBuildAttributes.h?rev=199576&r1=199575&r2=199576&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/ARMBuildAttributes.h (original)
+++ llvm/trunk/include/llvm/Support/ARMBuildAttributes.h Sun Jan 19 02:25:35 2014
@@ -33,8 +33,6 @@ enum SpecialAttr {
enum AttrType {
// Rest correspond to ELF/.ARM.attributes
File = 1,
- Section = 2,
- Symbol = 3,
CPU_raw_name = 4,
CPU_name = 5,
CPU_arch = 6,
@@ -55,8 +53,8 @@ enum AttrType {
ABI_FP_exceptions = 21,
ABI_FP_user_exceptions = 22,
ABI_FP_number_model = 23,
- ABI_align8_needed = 24,
- ABI_align8_preserved = 25,
+ ABI_align_needed = 24,
+ ABI_align_preserved = 25,
ABI_enum_size = 26,
ABI_HardFP_use = 27,
ABI_VFP_args = 28,
@@ -67,14 +65,20 @@ enum AttrType {
CPU_unaligned_access = 34,
FP_HP_extension = 36,
ABI_FP_16bit_format = 38,
- MPextension_use = 42, // was 70, 2.08 ABI
+ MPextension_use = 42, // recoded from 70 (ABI r2.08)
DIV_use = 44,
- nodefaults = 64,
also_compatible_with = 65,
- T2EE_use = 66,
conformance = 67,
Virtualization_use = 68,
- MPextension_use_old = 70
+
+ /// Legacy Tags
+ Section = 2, // deprecated (ABI r2.09)
+ Symbol = 3, // deprecated (ABI r2.09)
+ ABI_align8_needed = 24, // renamed to ABI_align_needed (ABI r2.09)
+ ABI_align8_preserved = 25, // renamed to ABI_align_preserved (ABI r2.09)
+ nodefaults = 64, // deprecated (ABI r2.09)
+ T2EE_use = 66, // deprecated (ABI r2.09)
+ MPextension_use_old = 70 // recoded to MPextension_use (ABI r2.08)
};
StringRef AttrTypeAsString(unsigned Attr, bool HasTagPrefix = true);
Modified: llvm/trunk/lib/Support/ARMBuildAttrs.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/ARMBuildAttrs.cpp?rev=199576&r1=199575&r2=199576&view=diff
==============================================================================
--- llvm/trunk/lib/Support/ARMBuildAttrs.cpp (original)
+++ llvm/trunk/lib/Support/ARMBuildAttrs.cpp Sun Jan 19 02:25:35 2014
@@ -40,8 +40,8 @@ const struct {
{ ARMBuildAttrs::ABI_FP_exceptions, "Tag_ABI_FP_exceptions" },
{ ARMBuildAttrs::ABI_FP_user_exceptions, "Tag_ABI_FP_user_exceptions" },
{ ARMBuildAttrs::ABI_FP_number_model, "Tag_ABI_FP_number_model" },
- { ARMBuildAttrs::ABI_align8_needed, "Tag_ABI_align8_needed" },
- { ARMBuildAttrs::ABI_align8_preserved, "Tag_ABI_align8_preserved" },
+ { ARMBuildAttrs::ABI_align_needed, "Tag_ABI_align_needed" },
+ { ARMBuildAttrs::ABI_align_preserved, "Tag_ABI_align_preserved" },
{ ARMBuildAttrs::ABI_enum_size, "Tag_ABI_enum_size" },
{ ARMBuildAttrs::ABI_HardFP_use, "Tag_ABI_HardFP_use" },
{ ARMBuildAttrs::ABI_VFP_args, "Tag_ABI_VFP_args" },
@@ -62,9 +62,9 @@ const struct {
// Legacy Names
{ ARMBuildAttrs::FP_arch, "Tag_VFP_arch" },
- { ARMBuildAttrs::ABI_align8_needed, "Tag_ABI_align_needed" },
- { ARMBuildAttrs::ABI_align8_preserved, "Tag_ABI_align_preserved" },
{ ARMBuildAttrs::FP_HP_extension, "Tag_VFP_HP_extension" },
+ { ARMBuildAttrs::ABI_align_needed, "Tag_ABI_align8_needed" },
+ { ARMBuildAttrs::ABI_align_preserved, "Tag_ABI_align8_preserved" },
};
}
Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=199576&r1=199575&r2=199576&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Sun Jan 19 02:25:35 2014
@@ -699,8 +699,8 @@ void ARMAsmPrinter::emitAttributes() {
// FIXME: add more flags to ARMBuildAttributes.h
// 8-bytes alignment stuff.
- ATS.emitAttribute(ARMBuildAttrs::ABI_align8_needed, 1);
- ATS.emitAttribute(ARMBuildAttrs::ABI_align8_preserved, 1);
+ ATS.emitAttribute(ARMBuildAttrs::ABI_align_needed, 1);
+ ATS.emitAttribute(ARMBuildAttrs::ABI_align_preserved, 1);
// ABI_HardFP_use attribute to indicate single precision FP.
if (Subtarget->isFPOnlySP())
Modified: llvm/trunk/test/CodeGen/ARM/build-attributes.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/build-attributes.ll?rev=199576&r1=199575&r2=199576&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/build-attributes.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/build-attributes.ll Sun Jan 19 02:25:35 2014
@@ -170,7 +170,7 @@
; CORTEX-A7-NOFPU: .eabi_attribute 24, 1
; CORTEX-A7-FPUV4: .eabi_attribute 24, 1
-; Tag_ABI_align8_preserved
+; Tag_ABI_align_preserved
; CORTEX-A7-CHECK: .eabi_attribute 25, 1
; CORTEX-A7-NOFPU: .eabi_attribute 25, 1
; CORTEX-A7-FPUV4: .eabi_attribute 25, 1
Modified: llvm/trunk/test/MC/ARM/directive-eabi_attribute-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/directive-eabi_attribute-2.s?rev=199576&r1=199575&r2=199576&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/directive-eabi_attribute-2.s (original)
+++ llvm/trunk/test/MC/ARM/directive-eabi_attribute-2.s Sun Jan 19 02:25:35 2014
@@ -43,9 +43,9 @@
@ CHECK: .eabi_attribute 22, 1
.eabi_attribute Tag_ABI_FP_number_model, 3
@ CHECK: .eabi_attribute 23, 3
- .eabi_attribute Tag_ABI_align8_needed, 1
+ .eabi_attribute Tag_ABI_align_needed, 1
@ CHECK: .eabi_attribute 24, 1
- .eabi_attribute Tag_ABI_align8_preserved, 2
+ .eabi_attribute Tag_ABI_align_preserved, 2
@ CHECK: .eabi_attribute 25, 2
.eabi_attribute Tag_ABI_enum_size, 3
@ CHECK: .eabi_attribute 26, 3
@@ -82,6 +82,13 @@
.eabi_attribute Tag_Virtualization_use, 0
@ CHECK: .eabi_attribute 68, 0
+@ ===--- Compatibility Checks ---===
+
+ .eabi_attribute Tag_ABI_align8_needed, 1
+@ CHECK: .eabi_attribute 24, 1
+ .eabi_attribute Tag_ABI_align8_preserved, 2
+@ CHECK: .eabi_attribute 25, 2
+
@ ===--- GNU AS Compatibility Checks ---===
.eabi_attribute 2 * 2 + 1, "cortex-a9"
More information about the llvm-commits
mailing list