diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2013-12-26 11:50:28 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2013-12-26 11:50:28 +0000 |
commit | a13f8b4f36a70dbf99712cf04061b628dbe054bf (patch) | |
tree | bd88a238a8d571c67d636904338682042c8322d8 /llvm/lib/Target/ARM | |
parent | fc5f18ba0d424f7758a3a378eabdcb36421a4544 (diff) | |
download | bcm5719-llvm-a13f8b4f36a70dbf99712cf04061b628dbe054bf.tar.gz bcm5719-llvm-a13f8b4f36a70dbf99712cf04061b628dbe054bf.zip |
Recognize armv7a and friends as aliases for armv7-a etc. for the purpose
of architecture naming.
llvm-svn: 198043
Diffstat (limited to 'llvm/lib/Target/ARM')
4 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 209741aaaee..073d6c8dbdd 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -8119,6 +8119,8 @@ bool ARMAsmParser::parseDirectiveArch(SMLoc L) { unsigned ID = StringSwitch<unsigned>(Arch) #define ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH) \ .Case(NAME, ARM::ID) +#define ARM_ARCH_ALIAS(NAME, ID) \ + .Case(NAME, ARM::ID) #include "MCTargetDesc/ARMArchName.def" .Default(ARM::INVALID_ARCH); diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.def b/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.def index 37e814e0726..9f007a035a8 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.def +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.def @@ -36,10 +36,15 @@ ARM_ARCH_NAME("armv6zk", ARMV6ZK, "6ZK", v6KZ) ARM_ARCH_NAME("armv6-m", ARMV6M, "6-M", v6_M) ARM_ARCH_NAME("armv7", ARMV7, "7", v7) ARM_ARCH_NAME("armv7-a", ARMV7A, "7-A", v7) +ARM_ARCH_ALIAS("armv7a", ARMV7A) ARM_ARCH_NAME("armv7-r", ARMV7R, "7-R", v7) +ARM_ARCH_ALIAS("armv7r", ARMV7R) ARM_ARCH_NAME("armv7-m", ARMV7M, "7-M", v7) +ARM_ARCH_ALIAS("armv7m", ARMV7M) ARM_ARCH_NAME("armv8-a", ARMV8A, "8-A", v8) +ARM_ARCH_ALIAS("armv8a", ARMV8A) ARM_ARCH_NAME("iwmmxt", IWMMXT, "iwmmxt", v5TE) ARM_ARCH_NAME("iwmmxt2", IWMMXT2, "iwmmxt2", v5TE) #undef ARM_ARCH_NAME +#undef ARM_ARCH_ALIAS diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.h b/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.h index d0de9ccb8a7..34b9fc126ff 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.h +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMArchName.h @@ -17,6 +17,7 @@ enum ArchKind { INVALID_ARCH = 0 #define ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH) , ID +#define ARM_ARCH_ALIAS(NAME, ID) /* empty */ #include "ARMArchName.def" }; diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp index 2d2497895cc..39bcbf3e529 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp @@ -71,6 +71,7 @@ static const char *GetArchName(unsigned ID) { break; #define ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH) \ case ARM::ID: return NAME; +#define ARM_ARCH_ALIAS(NAME, ID) /* empty */ #include "ARMArchName.def" } return NULL; @@ -83,6 +84,7 @@ static const char *GetArchDefaultCPUName(unsigned ID) { break; #define ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH) \ case ARM::ID: return DEFAULT_CPU_NAME; +#define ARM_ARCH_ALIAS(NAME, ID) /* empty */ #include "ARMArchName.def" } return NULL; @@ -95,6 +97,7 @@ static unsigned GetArchDefaultCPUArch(unsigned ID) { break; #define ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH) \ case ARM::ID: return ARMBuildAttrs::DEFAULT_CPU_ARCH; +#define ARM_ARCH_ALIAS(NAME, ID) /* empty */ #include "ARMArchName.def" } return 0; |