Change TargetParser enum names to avoid macro conflicts (llvm)

sys/time.h on Solaris (and possibly other systems) defines "SEC" as "1"
using a cpp macro.  The result is that this fails to compile.

Fixes https://llvm.org/PR23482

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237112 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Renato Golin 2015-05-12 10:33:58 +00:00
parent 3bf2f23adb
commit ed73167673
5 changed files with 173 additions and 173 deletions

View File

@ -27,64 +27,64 @@ namespace llvm {
namespace ARM { namespace ARM {
// FPU names. // FPU names.
enum FPUKind { enum FPUKind {
INVALID_FPU = 0, FK_INVALID = 0,
VFP, FK_VFP,
VFPV2, FK_VFPV2,
VFPV3, FK_VFPV3,
VFPV3_D16, FK_VFPV3_D16,
VFPV4, FK_VFPV4,
VFPV4_D16, FK_VFPV4_D16,
FPV5_D16, FK_FPV5_D16,
FP_ARMV8, FK_FP_ARMV8,
NEON, FK_NEON,
NEON_VFPV4, FK_NEON_VFPV4,
NEON_FP_ARMV8, FK_NEON_FP_ARMV8,
CRYPTO_NEON_FP_ARMV8, FK_CRYPTO_NEON_FP_ARMV8,
SOFTVFP, FK_SOFTVFP,
LAST_FPU FK_LAST
}; };
// Arch names. // Arch names.
enum ArchKind { enum ArchKind {
INVALID_ARCH = 0, AK_INVALID = 0,
ARMV2, AK_ARMV2,
ARMV2A, AK_ARMV2A,
ARMV3, AK_ARMV3,
ARMV3M, AK_ARMV3M,
ARMV4, AK_ARMV4,
ARMV4T, AK_ARMV4T,
ARMV5, AK_ARMV5,
ARMV5T, AK_ARMV5T,
ARMV5TE, AK_ARMV5TE,
ARMV6, AK_ARMV6,
ARMV6J, AK_ARMV6J,
ARMV6K, AK_ARMV6K,
ARMV6T2, AK_ARMV6T2,
ARMV6Z, AK_ARMV6Z,
ARMV6ZK, AK_ARMV6ZK,
ARMV6M, AK_ARMV6M,
ARMV7, AK_ARMV7,
ARMV7A, AK_ARMV7A,
ARMV7R, AK_ARMV7R,
ARMV7M, AK_ARMV7M,
ARMV8A, AK_ARMV8A,
ARMV8_1A, AK_ARMV8_1A,
IWMMXT, AK_IWMMXT,
IWMMXT2, AK_IWMMXT2,
LAST_ARCH AK_LAST
}; };
// Arch extension modifiers for CPUs. // Arch extension modifiers for CPUs.
enum ArchExtKind { enum ArchExtKind {
INVALID_ARCHEXT = 0, AEK_INVALID = 0,
CRC, AEK_CRC,
CRYPTO, AEK_CRYPTO,
FP, AEK_FP,
HWDIV, AEK_HWDIV,
MP, AEK_MP,
SEC, AEK_SEC,
VIRT, AEK_VIRT,
LAST_ARCHEXT AEK_LAST
}; };
} // namespace ARM } // namespace ARM

View File

@ -27,20 +27,20 @@ struct {
const char * Name; const char * Name;
ARM::FPUKind ID; ARM::FPUKind ID;
} FPUNames[] = { } FPUNames[] = {
{ "invalid", ARM::INVALID_FPU }, { "invalid", ARM::FK_INVALID },
{ "vfp", ARM::VFP }, { "vfp", ARM::FK_VFP },
{ "vfpv2", ARM::VFPV2 }, { "vfpv2", ARM::FK_VFPV2 },
{ "vfpv3", ARM::VFPV3 }, { "vfpv3", ARM::FK_VFPV3 },
{ "vfpv3-d16", ARM::VFPV3_D16 }, { "vfpv3-d16", ARM::FK_VFPV3_D16 },
{ "vfpv4", ARM::VFPV4 }, { "vfpv4", ARM::FK_VFPV4 },
{ "vfpv4-d16", ARM::VFPV4_D16 }, { "vfpv4-d16", ARM::FK_VFPV4_D16 },
{ "fpv5-d16", ARM::FPV5_D16 }, { "fpv5-d16", ARM::FK_FPV5_D16 },
{ "fp-armv8", ARM::FP_ARMV8 }, { "fp-armv8", ARM::FK_FP_ARMV8 },
{ "neon", ARM::NEON }, { "neon", ARM::FK_NEON },
{ "neon-vfpv4", ARM::NEON_VFPV4 }, { "neon-vfpv4", ARM::FK_NEON_VFPV4 },
{ "neon-fp-armv8", ARM::NEON_FP_ARMV8 }, { "neon-fp-armv8", ARM::FK_NEON_FP_ARMV8 },
{ "crypto-neon-fp-armv8", ARM::CRYPTO_NEON_FP_ARMV8 }, { "crypto-neon-fp-armv8", ARM::FK_CRYPTO_NEON_FP_ARMV8 },
{ "softvfp", ARM::SOFTVFP } { "softvfp", ARM::FK_SOFTVFP }
}; };
// List of canonical arch names (use getArchSynonym) // List of canonical arch names (use getArchSynonym)
// FIXME: TableGen this. // FIXME: TableGen this.
@ -50,31 +50,31 @@ struct {
const char *DefaultCPU; const char *DefaultCPU;
ARMBuildAttrs::CPUArch DefaultArch; ARMBuildAttrs::CPUArch DefaultArch;
} ARCHNames[] = { } ARCHNames[] = {
{ "invalid", ARM::INVALID_ARCH, nullptr, ARMBuildAttrs::CPUArch::Pre_v4 }, { "invalid", ARM::AK_INVALID, nullptr, ARMBuildAttrs::CPUArch::Pre_v4 },
{ "armv2", ARM::ARMV2, "2", ARMBuildAttrs::CPUArch::v4 }, { "armv2", ARM::AK_ARMV2, "2", ARMBuildAttrs::CPUArch::v4 },
{ "armv2a", ARM::ARMV2A, "2A", ARMBuildAttrs::CPUArch::v4 }, { "armv2a", ARM::AK_ARMV2A, "2A", ARMBuildAttrs::CPUArch::v4 },
{ "armv3", ARM::ARMV3, "3", ARMBuildAttrs::CPUArch::v4 }, { "armv3", ARM::AK_ARMV3, "3", ARMBuildAttrs::CPUArch::v4 },
{ "armv3m", ARM::ARMV3M, "3M", ARMBuildAttrs::CPUArch::v4 }, { "armv3m", ARM::AK_ARMV3M, "3M", ARMBuildAttrs::CPUArch::v4 },
{ "armv4", ARM::ARMV4, "4", ARMBuildAttrs::CPUArch::v4 }, { "armv4", ARM::AK_ARMV4, "4", ARMBuildAttrs::CPUArch::v4 },
{ "armv4t", ARM::ARMV4T, "4T", ARMBuildAttrs::CPUArch::v4T }, { "armv4t", ARM::AK_ARMV4T, "4T", ARMBuildAttrs::CPUArch::v4T },
{ "armv5", ARM::ARMV5, "5", ARMBuildAttrs::CPUArch::v5T }, { "armv5", ARM::AK_ARMV5, "5", ARMBuildAttrs::CPUArch::v5T },
{ "armv5t", ARM::ARMV5T, "5T", ARMBuildAttrs::CPUArch::v5T }, { "armv5t", ARM::AK_ARMV5T, "5T", ARMBuildAttrs::CPUArch::v5T },
{ "armv5te", ARM::ARMV5TE, "5TE", ARMBuildAttrs::CPUArch::v5TE }, { "armv5te", ARM::AK_ARMV5TE, "5TE", ARMBuildAttrs::CPUArch::v5TE },
{ "armv6", ARM::ARMV6, "6", ARMBuildAttrs::CPUArch::v6 }, { "armv6", ARM::AK_ARMV6, "6", ARMBuildAttrs::CPUArch::v6 },
{ "armv6j", ARM::ARMV6J, "6J", ARMBuildAttrs::CPUArch::v6 }, { "armv6j", ARM::AK_ARMV6J, "6J", ARMBuildAttrs::CPUArch::v6 },
{ "armv6k", ARM::ARMV6K, "6K", ARMBuildAttrs::CPUArch::v6K }, { "armv6k", ARM::AK_ARMV6K, "6K", ARMBuildAttrs::CPUArch::v6K },
{ "armv6t2", ARM::ARMV6T2, "6T2", ARMBuildAttrs::CPUArch::v6T2 }, { "armv6t2", ARM::AK_ARMV6T2, "6T2", ARMBuildAttrs::CPUArch::v6T2 },
{ "armv6z", ARM::ARMV6Z, "6Z", ARMBuildAttrs::CPUArch::v6KZ }, { "armv6z", ARM::AK_ARMV6Z, "6Z", ARMBuildAttrs::CPUArch::v6KZ },
{ "armv6zk", ARM::ARMV6ZK, "6ZK", ARMBuildAttrs::CPUArch::v6KZ }, { "armv6zk", ARM::AK_ARMV6ZK, "6ZK", ARMBuildAttrs::CPUArch::v6KZ },
{ "armv6-m", ARM::ARMV6M, "6-M", ARMBuildAttrs::CPUArch::v6_M }, { "armv6-m", ARM::AK_ARMV6M, "6-M", ARMBuildAttrs::CPUArch::v6_M },
{ "armv7", ARM::ARMV7, "7", ARMBuildAttrs::CPUArch::v7 }, { "armv7", ARM::AK_ARMV7, "7", ARMBuildAttrs::CPUArch::v7 },
{ "armv7-a", ARM::ARMV7A, "7-A", ARMBuildAttrs::CPUArch::v7 }, { "armv7-a", ARM::AK_ARMV7A, "7-A", ARMBuildAttrs::CPUArch::v7 },
{ "armv7-r", ARM::ARMV7R, "7-R", ARMBuildAttrs::CPUArch::v7 }, { "armv7-r", ARM::AK_ARMV7R, "7-R", ARMBuildAttrs::CPUArch::v7 },
{ "armv7-m", ARM::ARMV7M, "7-M", ARMBuildAttrs::CPUArch::v7 }, { "armv7-m", ARM::AK_ARMV7M, "7-M", ARMBuildAttrs::CPUArch::v7 },
{ "armv8-a", ARM::ARMV8A, "8-A", ARMBuildAttrs::CPUArch::v8 }, { "armv8-a", ARM::AK_ARMV8A, "8-A", ARMBuildAttrs::CPUArch::v8 },
{ "armv8.1-a", ARM::ARMV8_1A, "8.1-A", ARMBuildAttrs::CPUArch::v8 }, { "armv8.1-a", ARM::AK_ARMV8_1A, "8.1-A", ARMBuildAttrs::CPUArch::v8 },
{ "iwmmxt", ARM::IWMMXT, "iwmmxt", ARMBuildAttrs::CPUArch::v5TE }, { "iwmmxt", ARM::AK_IWMMXT, "iwmmxt", ARMBuildAttrs::CPUArch::v5TE },
{ "iwmmxt2", ARM::IWMMXT2, "iwmmxt2", ARMBuildAttrs::CPUArch::v5TE } { "iwmmxt2", ARM::AK_IWMMXT2, "iwmmxt2", ARMBuildAttrs::CPUArch::v5TE }
}; };
// List of canonical ARCH names (use getARCHSynonym) // List of canonical ARCH names (use getARCHSynonym)
// FIXME: TableGen this. // FIXME: TableGen this.
@ -82,14 +82,14 @@ struct {
const char *Name; const char *Name;
ARM::ArchExtKind ID; ARM::ArchExtKind ID;
} ARCHExtNames[] = { } ARCHExtNames[] = {
{ "invalid", ARM::INVALID_ARCHEXT }, { "invalid", ARM::AEK_INVALID },
{ "crc", ARM::CRC }, { "crc", ARM::AEK_CRC },
{ "crypto", ARM::CRYPTO }, { "crypto", ARM::AEK_CRYPTO },
{ "fp", ARM::FP }, { "fp", ARM::AEK_FP },
{ "idiv", ARM::HWDIV }, { "idiv", ARM::AEK_HWDIV },
{ "mp", ARM::MP }, { "mp", ARM::AEK_MP },
{ "sec", ARM::SEC }, { "sec", ARM::AEK_SEC },
{ "virt", ARM::VIRT } { "virt", ARM::AEK_VIRT }
}; };
} // namespace } // namespace
@ -101,31 +101,31 @@ namespace llvm {
// ======================================================= // // ======================================================= //
const char *ARMTargetParser::getFPUName(unsigned ID) { const char *ARMTargetParser::getFPUName(unsigned ID) {
if (ID >= ARM::LAST_FPU) if (ID >= ARM::FK_LAST)
return nullptr; return nullptr;
return FPUNames[ID].Name; return FPUNames[ID].Name;
} }
const char *ARMTargetParser::getArchName(unsigned ID) { const char *ARMTargetParser::getArchName(unsigned ID) {
if (ID >= ARM::LAST_ARCH) if (ID >= ARM::AK_LAST)
return nullptr; return nullptr;
return ARCHNames[ID].Name; return ARCHNames[ID].Name;
} }
const char *ARMTargetParser::getArchDefaultCPUName(unsigned ID) { const char *ARMTargetParser::getArchDefaultCPUName(unsigned ID) {
if (ID >= ARM::LAST_ARCH) if (ID >= ARM::AK_LAST)
return nullptr; return nullptr;
return ARCHNames[ID].DefaultCPU; return ARCHNames[ID].DefaultCPU;
} }
unsigned ARMTargetParser::getArchDefaultCPUArch(unsigned ID) { unsigned ARMTargetParser::getArchDefaultCPUArch(unsigned ID) {
if (ID >= ARM::LAST_ARCH) if (ID >= ARM::AK_LAST)
return 0; return 0;
return ARCHNames[ID].DefaultArch; return ARCHNames[ID].DefaultArch;
} }
const char *ARMTargetParser::getArchExtName(unsigned ID) { const char *ARMTargetParser::getArchExtName(unsigned ID) {
if (ID >= ARM::LAST_ARCHEXT) if (ID >= ARM::AEK_LAST)
return nullptr; return nullptr;
return ARCHExtNames[ID].Name; return ARCHExtNames[ID].Name;
} }
@ -170,7 +170,7 @@ unsigned ARMTargetParser::parseFPU(StringRef FPU) {
if (Syn == F.Name) if (Syn == F.Name)
return F.ID; return F.ID;
} }
return ARM::INVALID_FPU; return ARM::FK_INVALID;
} }
unsigned ARMTargetParser::parseArch(StringRef Arch) { unsigned ARMTargetParser::parseArch(StringRef Arch) {
@ -179,7 +179,7 @@ unsigned ARMTargetParser::parseArch(StringRef Arch) {
if (Syn == A.Name) if (Syn == A.Name)
return A.ID; return A.ID;
} }
return ARM::INVALID_ARCH; return ARM::AK_INVALID;
} }
unsigned ARMTargetParser::parseArchExt(StringRef ArchExt) { unsigned ARMTargetParser::parseArchExt(StringRef ArchExt) {
@ -187,7 +187,7 @@ unsigned ARMTargetParser::parseArchExt(StringRef ArchExt) {
if (ArchExt == A.Name) if (ArchExt == A.Name)
return A.ID; return A.ID;
} }
return ARM::INVALID_ARCHEXT; return ARM::AEK_INVALID;
} }
} // namespace llvm } // namespace llvm

View File

@ -591,7 +591,7 @@ void ARMAsmPrinter::emitAttributes() {
// We consider krait as a "cortex-a9" + hwdiv CPU // We consider krait as a "cortex-a9" + hwdiv CPU
// Enable hwdiv through ".arch_extension idiv" // Enable hwdiv through ".arch_extension idiv"
if (STI.hasDivide() || STI.hasDivideInARMMode()) if (STI.hasDivide() || STI.hasDivideInARMMode())
ATS.emitArchExtension(ARM::HWDIV); ATS.emitArchExtension(ARM::AEK_HWDIV);
} else } else
ATS.emitTextAttribute(ARMBuildAttrs::CPU_name, CPUString); ATS.emitTextAttribute(ARMBuildAttrs::CPU_name, CPUString);
} }
@ -628,13 +628,13 @@ void ARMAsmPrinter::emitAttributes() {
* neon/neon-fp-armv8/neon-vfpv4/vfpv3/vfpv2 for .fpu parameters */ * neon/neon-fp-armv8/neon-vfpv4/vfpv3/vfpv2 for .fpu parameters */
if (STI.hasFPARMv8()) { if (STI.hasFPARMv8()) {
if (STI.hasCrypto()) if (STI.hasCrypto())
ATS.emitFPU(ARM::CRYPTO_NEON_FP_ARMV8); ATS.emitFPU(ARM::FK_CRYPTO_NEON_FP_ARMV8);
else else
ATS.emitFPU(ARM::NEON_FP_ARMV8); ATS.emitFPU(ARM::FK_NEON_FP_ARMV8);
} else if (STI.hasVFP4()) } else if (STI.hasVFP4())
ATS.emitFPU(ARM::NEON_VFPV4); ATS.emitFPU(ARM::FK_NEON_VFPV4);
else else
ATS.emitFPU(ARM::NEON); ATS.emitFPU(ARM::FK_NEON);
// Emit Tag_Advanced_SIMD_arch for ARMv8 architecture // Emit Tag_Advanced_SIMD_arch for ARMv8 architecture
if (STI.hasV8Ops()) if (STI.hasV8Ops())
ATS.emitAttribute(ARMBuildAttrs::Advanced_SIMD_arch, ATS.emitAttribute(ARMBuildAttrs::Advanced_SIMD_arch,
@ -644,13 +644,13 @@ void ARMAsmPrinter::emitAttributes() {
if (STI.hasFPARMv8()) if (STI.hasFPARMv8())
// FPv5 and FP-ARMv8 have the same instructions, so are modeled as one // FPv5 and FP-ARMv8 have the same instructions, so are modeled as one
// FPU, but there are two different names for it depending on the CPU. // FPU, but there are two different names for it depending on the CPU.
ATS.emitFPU(STI.hasD16() ? ARM::FPV5_D16 : ARM::FP_ARMV8); ATS.emitFPU(STI.hasD16() ? ARM::FK_FPV5_D16 : ARM::FK_FP_ARMV8);
else if (STI.hasVFP4()) else if (STI.hasVFP4())
ATS.emitFPU(STI.hasD16() ? ARM::VFPV4_D16 : ARM::VFPV4); ATS.emitFPU(STI.hasD16() ? ARM::FK_VFPV4_D16 : ARM::FK_VFPV4);
else if (STI.hasVFP3()) else if (STI.hasVFP3())
ATS.emitFPU(STI.hasD16() ? ARM::VFPV3_D16 : ARM::VFPV3); ATS.emitFPU(STI.hasD16() ? ARM::FK_VFPV3_D16 : ARM::FK_VFPV3);
else if (STI.hasVFP2()) else if (STI.hasVFP2())
ATS.emitFPU(ARM::VFPV2); ATS.emitFPU(ARM::FK_VFPV2);
} }
if (TM.getRelocationModel() == Reloc::PIC_) { if (TM.getRelocationModel() == Reloc::PIC_) {

View File

@ -9041,7 +9041,7 @@ bool ARMAsmParser::parseDirectiveArch(SMLoc L) {
unsigned ID = ARMTargetParser::parseArch(Arch); unsigned ID = ARMTargetParser::parseArch(Arch);
if (ID == ARM::INVALID_ARCH) { if (ID == ARM::AK_INVALID) {
Error(L, "Unknown arch name"); Error(L, "Unknown arch name");
return false; return false;
} }
@ -9190,49 +9190,49 @@ static const struct {
const uint64_t Enabled; const uint64_t Enabled;
const uint64_t Disabled; const uint64_t Disabled;
} FPUs[] = { } FPUs[] = {
{/* ID */ ARM::VFP, {/* ID */ ARM::FK_VFP,
/* Enabled */ ARM::FeatureVFP2, /* Enabled */ ARM::FeatureVFP2,
/* Disabled */ ARM::FeatureNEON}, /* Disabled */ ARM::FeatureNEON},
{/* ID */ ARM::VFPV2, {/* ID */ ARM::FK_VFPV2,
/* Enabled */ ARM::FeatureVFP2, /* Enabled */ ARM::FeatureVFP2,
/* Disabled */ ARM::FeatureNEON}, /* Disabled */ ARM::FeatureNEON},
{/* ID */ ARM::VFPV3, {/* ID */ ARM::FK_VFPV3,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3, /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3,
/* Disabled */ ARM::FeatureNEON | ARM::FeatureD16}, /* Disabled */ ARM::FeatureNEON | ARM::FeatureD16},
{/* ID */ ARM::VFPV3_D16, {/* ID */ ARM::FK_VFPV3_D16,
/* Enable */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureD16, /* Enable */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureD16,
/* Disabled */ ARM::FeatureNEON}, /* Disabled */ ARM::FeatureNEON},
{/* ID */ ARM::VFPV4, {/* ID */ ARM::FK_VFPV4,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4, /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4,
/* Disabled */ ARM::FeatureNEON | ARM::FeatureD16}, /* Disabled */ ARM::FeatureNEON | ARM::FeatureD16},
{/* ID */ ARM::VFPV4_D16, {/* ID */ ARM::FK_VFPV4_D16,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 | /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 |
ARM::FeatureD16, ARM::FeatureD16,
/* Disabled */ ARM::FeatureNEON}, /* Disabled */ ARM::FeatureNEON},
{/* ID */ ARM::FPV5_D16, {/* ID */ ARM::FK_FPV5_D16,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 | /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 |
ARM::FeatureFPARMv8 | ARM::FeatureD16, ARM::FeatureFPARMv8 | ARM::FeatureD16,
/* Disabled */ ARM::FeatureNEON | ARM::FeatureCrypto}, /* Disabled */ ARM::FeatureNEON | ARM::FeatureCrypto},
{/* ID */ ARM::FP_ARMV8, {/* ID */ ARM::FK_FP_ARMV8,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 | /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 |
ARM::FeatureFPARMv8, ARM::FeatureFPARMv8,
/* Disabled */ ARM::FeatureNEON | ARM::FeatureCrypto | ARM::FeatureD16}, /* Disabled */ ARM::FeatureNEON | ARM::FeatureCrypto | ARM::FeatureD16},
{/* ID */ ARM::NEON, {/* ID */ ARM::FK_NEON,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureNEON, /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureNEON,
/* Disabled */ ARM::FeatureD16}, /* Disabled */ ARM::FeatureD16},
{/* ID */ ARM::NEON_VFPV4, {/* ID */ ARM::FK_NEON_VFPV4,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 | /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 |
ARM::FeatureNEON, ARM::FeatureNEON,
/* Disabled */ ARM::FeatureD16}, /* Disabled */ ARM::FeatureD16},
{/* ID */ ARM::NEON_FP_ARMV8, {/* ID */ ARM::FK_NEON_FP_ARMV8,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 | /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 |
ARM::FeatureFPARMv8 | ARM::FeatureNEON, ARM::FeatureFPARMv8 | ARM::FeatureNEON,
/* Disabled */ ARM::FeatureCrypto | ARM::FeatureD16}, /* Disabled */ ARM::FeatureCrypto | ARM::FeatureD16},
{/* ID */ ARM::CRYPTO_NEON_FP_ARMV8, {/* ID */ ARM::FK_CRYPTO_NEON_FP_ARMV8,
/* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 | /* Enabled */ ARM::FeatureVFP2 | ARM::FeatureVFP3 | ARM::FeatureVFP4 |
ARM::FeatureFPARMv8 | ARM::FeatureNEON | ARM::FeatureCrypto, ARM::FeatureFPARMv8 | ARM::FeatureNEON | ARM::FeatureCrypto,
/* Disabled */ ARM::FeatureD16}, /* Disabled */ ARM::FeatureD16},
{ARM::SOFTVFP, 0, 0}, {ARM::FK_SOFTVFP, 0, 0},
}; };
/// parseDirectiveFPU /// parseDirectiveFPU
@ -9243,7 +9243,7 @@ bool ARMAsmParser::parseDirectiveFPU(SMLoc L) {
unsigned ID = ARMTargetParser::parseFPU(FPU); unsigned ID = ARMTargetParser::parseFPU(FPU);
if (ID == ARM::INVALID_FPU) { if (ID == ARM::FK_INVALID) {
Error(FPUNameLoc, "Unknown FPU name"); Error(FPUNameLoc, "Unknown FPU name");
return false; return false;
} }
@ -9897,7 +9897,7 @@ bool ARMAsmParser::parseDirectiveObjectArch(SMLoc L) {
unsigned ID = ARMTargetParser::parseArch(Arch); unsigned ID = ARMTargetParser::parseArch(Arch);
if (ID == ARM::INVALID_ARCH) { if (ID == ARM::AK_INVALID) {
Error(ArchLoc, "unknown architecture '" + Arch + "'"); Error(ArchLoc, "unknown architecture '" + Arch + "'");
Parser.eatToEndOfStatement(); Parser.eatToEndOfStatement();
return false; return false;

View File

@ -386,8 +386,8 @@ private:
public: public:
ARMTargetELFStreamer(MCStreamer &S) ARMTargetELFStreamer(MCStreamer &S)
: ARMTargetStreamer(S), CurrentVendor("aeabi"), FPU(ARM::INVALID_FPU), : ARMTargetStreamer(S), CurrentVendor("aeabi"), FPU(ARM::FK_INVALID),
Arch(ARM::INVALID_ARCH), EmittedArch(ARM::INVALID_ARCH), Arch(ARM::AK_INVALID), EmittedArch(ARM::AK_INVALID),
AttributeSection(nullptr) {} AttributeSection(nullptr) {}
}; };
@ -692,7 +692,7 @@ void ARMTargetELFStreamer::emitArchDefaultAttributes() {
ARMTargetParser::getArchDefaultCPUName(Arch), ARMTargetParser::getArchDefaultCPUName(Arch),
false); false);
if (EmittedArch == ARM::INVALID_ARCH) if (EmittedArch == ARM::AK_INVALID)
setAttributeItem(CPU_arch, setAttributeItem(CPU_arch,
ARMTargetParser::getArchDefaultCPUArch(Arch), ARMTargetParser::getArchDefaultCPUArch(Arch),
false); false);
@ -702,64 +702,64 @@ void ARMTargetELFStreamer::emitArchDefaultAttributes() {
false); false);
switch (Arch) { switch (Arch) {
case ARM::ARMV2: case ARM::AK_ARMV2:
case ARM::ARMV2A: case ARM::AK_ARMV2A:
case ARM::ARMV3: case ARM::AK_ARMV3:
case ARM::ARMV3M: case ARM::AK_ARMV3M:
case ARM::ARMV4: case ARM::AK_ARMV4:
case ARM::ARMV5: case ARM::AK_ARMV5:
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
break; break;
case ARM::ARMV4T: case ARM::AK_ARMV4T:
case ARM::ARMV5T: case ARM::AK_ARMV5T:
case ARM::ARMV5TE: case ARM::AK_ARMV5TE:
case ARM::ARMV6: case ARM::AK_ARMV6:
case ARM::ARMV6J: case ARM::AK_ARMV6J:
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
setAttributeItem(THUMB_ISA_use, Allowed, false); setAttributeItem(THUMB_ISA_use, Allowed, false);
break; break;
case ARM::ARMV6T2: case ARM::AK_ARMV6T2:
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
setAttributeItem(THUMB_ISA_use, AllowThumb32, false); setAttributeItem(THUMB_ISA_use, AllowThumb32, false);
break; break;
case ARM::ARMV6K: case ARM::AK_ARMV6K:
case ARM::ARMV6Z: case ARM::AK_ARMV6Z:
case ARM::ARMV6ZK: case ARM::AK_ARMV6ZK:
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
setAttributeItem(THUMB_ISA_use, Allowed, false); setAttributeItem(THUMB_ISA_use, Allowed, false);
setAttributeItem(Virtualization_use, AllowTZ, false); setAttributeItem(Virtualization_use, AllowTZ, false);
break; break;
case ARM::ARMV6M: case ARM::AK_ARMV6M:
setAttributeItem(THUMB_ISA_use, Allowed, false); setAttributeItem(THUMB_ISA_use, Allowed, false);
break; break;
case ARM::ARMV7: case ARM::AK_ARMV7:
setAttributeItem(THUMB_ISA_use, AllowThumb32, false); setAttributeItem(THUMB_ISA_use, AllowThumb32, false);
break; break;
case ARM::ARMV7A: case ARM::AK_ARMV7A:
setAttributeItem(CPU_arch_profile, ApplicationProfile, false); setAttributeItem(CPU_arch_profile, ApplicationProfile, false);
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
setAttributeItem(THUMB_ISA_use, AllowThumb32, false); setAttributeItem(THUMB_ISA_use, AllowThumb32, false);
break; break;
case ARM::ARMV7R: case ARM::AK_ARMV7R:
setAttributeItem(CPU_arch_profile, RealTimeProfile, false); setAttributeItem(CPU_arch_profile, RealTimeProfile, false);
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
setAttributeItem(THUMB_ISA_use, AllowThumb32, false); setAttributeItem(THUMB_ISA_use, AllowThumb32, false);
break; break;
case ARM::ARMV7M: case ARM::AK_ARMV7M:
setAttributeItem(CPU_arch_profile, MicroControllerProfile, false); setAttributeItem(CPU_arch_profile, MicroControllerProfile, false);
setAttributeItem(THUMB_ISA_use, AllowThumb32, false); setAttributeItem(THUMB_ISA_use, AllowThumb32, false);
break; break;
case ARM::ARMV8A: case ARM::AK_ARMV8A:
case ARM::ARMV8_1A: case ARM::AK_ARMV8_1A:
setAttributeItem(CPU_arch_profile, ApplicationProfile, false); setAttributeItem(CPU_arch_profile, ApplicationProfile, false);
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
setAttributeItem(THUMB_ISA_use, AllowThumb32, false); setAttributeItem(THUMB_ISA_use, AllowThumb32, false);
@ -767,13 +767,13 @@ void ARMTargetELFStreamer::emitArchDefaultAttributes() {
setAttributeItem(Virtualization_use, AllowTZVirtualization, false); setAttributeItem(Virtualization_use, AllowTZVirtualization, false);
break; break;
case ARM::IWMMXT: case ARM::AK_IWMMXT:
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
setAttributeItem(THUMB_ISA_use, Allowed, false); setAttributeItem(THUMB_ISA_use, Allowed, false);
setAttributeItem(WMMX_arch, AllowWMMXv1, false); setAttributeItem(WMMX_arch, AllowWMMXv1, false);
break; break;
case ARM::IWMMXT2: case ARM::AK_IWMMXT2:
setAttributeItem(ARM_ISA_use, Allowed, false); setAttributeItem(ARM_ISA_use, Allowed, false);
setAttributeItem(THUMB_ISA_use, Allowed, false); setAttributeItem(THUMB_ISA_use, Allowed, false);
setAttributeItem(WMMX_arch, AllowWMMXv2, false); setAttributeItem(WMMX_arch, AllowWMMXv2, false);
@ -789,38 +789,38 @@ void ARMTargetELFStreamer::emitFPU(unsigned Value) {
} }
void ARMTargetELFStreamer::emitFPUDefaultAttributes() { void ARMTargetELFStreamer::emitFPUDefaultAttributes() {
switch (FPU) { switch (FPU) {
case ARM::VFP: case ARM::FK_VFP:
case ARM::VFPV2: case ARM::FK_VFPV2:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPv2, ARMBuildAttrs::AllowFPv2,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
break; break;
case ARM::VFPV3: case ARM::FK_VFPV3:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPv3A, ARMBuildAttrs::AllowFPv3A,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
break; break;
case ARM::VFPV3_D16: case ARM::FK_VFPV3_D16:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPv3B, ARMBuildAttrs::AllowFPv3B,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
break; break;
case ARM::VFPV4: case ARM::FK_VFPV4:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPv4A, ARMBuildAttrs::AllowFPv4A,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
break; break;
case ARM::VFPV4_D16: case ARM::FK_VFPV4_D16:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPv4B, ARMBuildAttrs::AllowFPv4B,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
break; break;
case ARM::FP_ARMV8: case ARM::FK_FP_ARMV8:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPARMv8A, ARMBuildAttrs::AllowFPARMv8A,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
@ -828,13 +828,13 @@ void ARMTargetELFStreamer::emitFPUDefaultAttributes() {
// FPV5_D16 is identical to FP_ARMV8 except for the number of D registers, so // FPV5_D16 is identical to FP_ARMV8 except for the number of D registers, so
// uses the FP_ARMV8_D16 build attribute. // uses the FP_ARMV8_D16 build attribute.
case ARM::FPV5_D16: case ARM::FK_FPV5_D16:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPARMv8B, ARMBuildAttrs::AllowFPARMv8B,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
break; break;
case ARM::NEON: case ARM::FK_NEON:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPv3A, ARMBuildAttrs::AllowFPv3A,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
@ -843,7 +843,7 @@ void ARMTargetELFStreamer::emitFPUDefaultAttributes() {
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
break; break;
case ARM::NEON_VFPV4: case ARM::FK_NEON_VFPV4:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPv4A, ARMBuildAttrs::AllowFPv4A,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
@ -852,8 +852,8 @@ void ARMTargetELFStreamer::emitFPUDefaultAttributes() {
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
break; break;
case ARM::NEON_FP_ARMV8: case ARM::FK_NEON_FP_ARMV8:
case ARM::CRYPTO_NEON_FP_ARMV8: case ARM::FK_CRYPTO_NEON_FP_ARMV8:
setAttributeItem(ARMBuildAttrs::FP_arch, setAttributeItem(ARMBuildAttrs::FP_arch,
ARMBuildAttrs::AllowFPARMv8A, ARMBuildAttrs::AllowFPARMv8A,
/* OverwriteExisting= */ false); /* OverwriteExisting= */ false);
@ -861,7 +861,7 @@ void ARMTargetELFStreamer::emitFPUDefaultAttributes() {
// ARMAsmPrinter::emitAttributes(), depending on hasV8Ops() and hasV8_1a() // ARMAsmPrinter::emitAttributes(), depending on hasV8Ops() and hasV8_1a()
break; break;
case ARM::SOFTVFP: case ARM::FK_SOFTVFP:
break; break;
default: default:
@ -902,10 +902,10 @@ void ARMTargetELFStreamer::finishAttributeSection() {
// ]+ // ]+
// ]* // ]*
if (FPU != ARM::INVALID_FPU) if (FPU != ARM::FK_INVALID)
emitFPUDefaultAttributes(); emitFPUDefaultAttributes();
if (Arch != ARM::INVALID_ARCH) if (Arch != ARM::AK_INVALID)
emitArchDefaultAttributes(); emitArchDefaultAttributes();
if (Contents.empty()) if (Contents.empty())
@ -965,7 +965,7 @@ void ARMTargetELFStreamer::finishAttributeSection() {
} }
Contents.clear(); Contents.clear();
FPU = ARM::INVALID_FPU; FPU = ARM::FK_INVALID;
} }
void ARMTargetELFStreamer::emitLabel(MCSymbol *Symbol) { void ARMTargetELFStreamer::emitLabel(MCSymbol *Symbol) {