[ARMTargetParser] Removing string parsing from getCPUDefineSuffix. NFC.
Yet another FIXME from ARMTargetParser. llvm-svn: 238416
This commit is contained in:
parent
7374fcdb38
commit
391544c431
|
@ -4297,9 +4297,7 @@ public:
|
||||||
.Case("hwdiv-arm", HWDiv & HWDivARM)
|
.Case("hwdiv-arm", HWDiv & HWDivARM)
|
||||||
.Default(false);
|
.Default(false);
|
||||||
}
|
}
|
||||||
// FIXME: Should we actually have some table instead of these switches?
|
|
||||||
const char *getCPUDefineSuffix(StringRef Name) const {
|
const char *getCPUDefineSuffix(StringRef Name) const {
|
||||||
// FIXME: Use ARMTargetParser
|
|
||||||
if(Name == "generic") {
|
if(Name == "generic") {
|
||||||
auto subarch = getTriple().getSubArch();
|
auto subarch = getTriple().getSubArch();
|
||||||
switch (subarch) {
|
switch (subarch) {
|
||||||
|
@ -4310,34 +4308,32 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return llvm::StringSwitch<const char *>(Name)
|
unsigned ArchKind = llvm::ARMTargetParser::parseCPUArch(Name);
|
||||||
.Cases("arm8", "arm810", "4")
|
if (ArchKind == llvm::ARM::AK_INVALID)
|
||||||
.Cases("strongarm", "strongarm110", "strongarm1100", "strongarm1110",
|
return "";
|
||||||
"4")
|
|
||||||
.Cases("arm7tdmi", "arm7tdmi-s", "arm710t", "arm720t", "arm9", "4T")
|
// For most sub-arches, the build attribute CPU name is enough.
|
||||||
.Cases("arm9tdmi", "arm920", "arm920t", "arm922t", "arm940t", "4T")
|
// For Cortex variants, it's slightly different.
|
||||||
.Case("ep9312", "4T")
|
switch(ArchKind) {
|
||||||
.Cases("arm10tdmi", "arm1020t", "5T")
|
default:
|
||||||
.Cases("arm9e", "arm946e-s", "arm966e-s", "arm968e-s", "5TE")
|
return llvm::ARMTargetParser::getCPUAttr(ArchKind);
|
||||||
.Case("arm926ej-s", "5TEJ")
|
case llvm::ARM::AK_ARMV6M:
|
||||||
.Cases("arm10e", "arm1020e", "arm1022e", "5TE")
|
case llvm::ARM::AK_ARMV6SM:
|
||||||
.Cases("xscale", "iwmmxt", "5TE")
|
return "6M";
|
||||||
.Case("arm1136j-s", "6J")
|
case llvm::ARM::AK_ARMV7:
|
||||||
.Case("arm1136jf-s", "6")
|
case llvm::ARM::AK_ARMV7A:
|
||||||
.Cases("mpcorenovfp", "mpcore", "6K")
|
return "7A";
|
||||||
.Cases("arm1176jz-s", "arm1176jzf-s", "6K")
|
case llvm::ARM::AK_ARMV7R:
|
||||||
.Cases("arm1156t2-s", "arm1156t2f-s", "6T2")
|
return "7R";
|
||||||
.Cases("cortex-a5", "cortex-a7", "cortex-a8", "7A")
|
case llvm::ARM::AK_ARMV7M:
|
||||||
.Cases("cortex-a9", "cortex-a12", "cortex-a15", "cortex-a17", "krait",
|
return "7M";
|
||||||
"7A")
|
case llvm::ARM::AK_ARMV7EM:
|
||||||
.Cases("cortex-r4", "cortex-r4f", "cortex-r5", "cortex-r7", "7R")
|
return "7EM";
|
||||||
.Case("swift", "7S")
|
case llvm::ARM::AK_ARMV8A:
|
||||||
.Case("cyclone", "8A")
|
return "8A";
|
||||||
.Cases("sc300", "cortex-m3", "7M")
|
case llvm::ARM::AK_ARMV8_1A:
|
||||||
.Cases("cortex-m4", "cortex-m7", "7EM")
|
return "8_1A";
|
||||||
.Cases("sc000", "cortex-m0", "cortex-m0plus", "cortex-m1", "6M")
|
}
|
||||||
.Cases("cortex-a53", "cortex-a57", "cortex-a72", "8A")
|
|
||||||
.Default(nullptr);
|
|
||||||
}
|
}
|
||||||
const char *getCPUProfile(StringRef Name) const {
|
const char *getCPUProfile(StringRef Name) const {
|
||||||
if(Name == "generic") {
|
if(Name == "generic") {
|
||||||
|
|
Loading…
Reference in New Issue