mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
ARMTargetParser: Normalising build attributes
Now that most of the methods in Clang and LLVM that were parsing arch/cpu/fpu strings are using ARMTargetParser, it's time to make it a bit more conforming with what the ABI says. This commit adds some clarification on what build attributes are accepted and which are "non-standard". It also makes clear that the "defaultCPU" and "defaultArch" methods were really just build attribute getters. It also diverges from GCC's behaviour to say that armv2/armv3 are really an ARMv4 in the build attributes, when the ABI has a clear state for that: Pre-v4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238344 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -56,17 +56,19 @@ namespace ARM {
|
||||
AK_ARMV5,
|
||||
AK_ARMV5T,
|
||||
AK_ARMV5TE,
|
||||
AK_ARMV5TEJ,
|
||||
AK_ARMV6,
|
||||
AK_ARMV6J,
|
||||
AK_ARMV6K,
|
||||
AK_ARMV6T2,
|
||||
AK_ARMV6Z,
|
||||
AK_ARMV6ZK,
|
||||
AK_ARMV6M,
|
||||
AK_ARMV6SM,
|
||||
AK_ARMV7,
|
||||
AK_ARMV7A,
|
||||
AK_ARMV7R,
|
||||
AK_ARMV7M,
|
||||
AK_ARMV7EM,
|
||||
AK_ARMV8A,
|
||||
AK_ARMV8_1A,
|
||||
// Non-standard Arch names.
|
||||
@@ -74,13 +76,11 @@ namespace ARM {
|
||||
AK_IWMMXT2,
|
||||
AK_XSCALE,
|
||||
AK_ARMV5E,
|
||||
AK_ARMV5TEJ,
|
||||
AK_ARMV6SM,
|
||||
AK_ARMV6J,
|
||||
AK_ARMV6HL,
|
||||
AK_ARMV7L,
|
||||
AK_ARMV7HL,
|
||||
AK_ARMV7S,
|
||||
AK_ARMV7EM,
|
||||
AK_LAST
|
||||
};
|
||||
|
||||
@@ -133,8 +133,8 @@ public:
|
||||
// Information by ID
|
||||
static const char * getFPUName(unsigned FPUKind);
|
||||
static const char * getArchName(unsigned ArchKind);
|
||||
static unsigned getArchDefaultCPUArch(unsigned ArchKind);
|
||||
static const char * getArchDefaultCPUName(unsigned ArchKind);
|
||||
static unsigned getArchAttr(unsigned ArchKind);
|
||||
static const char * getCPUAttr(unsigned ArchKind);
|
||||
static const char * getArchExtName(unsigned ArchExtKind);
|
||||
static const char * getDefaultCPU(StringRef Arch);
|
||||
|
||||
|
Reference in New Issue
Block a user