aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Triple.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Support/Triple.cpp')
-rw-r--r--llvm/lib/Support/Triple.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp
index 4f483c965282..88311546354b 100644
--- a/llvm/lib/Support/Triple.cpp
+++ b/llvm/lib/Support/Triple.cpp
@@ -44,6 +44,7 @@ StringRef Triple::getArchTypeName(ArchType Kind) {
case lanai: return "lanai";
case le32: return "le32";
case le64: return "le64";
+ case m68k: return "m68k";
case mips64: return "mips64";
case mips64el: return "mips64el";
case mips: return "mips";
@@ -105,6 +106,8 @@ StringRef Triple::getArchTypePrefix(ArchType Kind) {
case ppc:
case ppcle: return "ppc";
+ case m68k: return "m68k";
+
case mips:
case mipsel:
case mips64:
@@ -247,6 +250,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) {
case Musl: return "musl";
case MuslEABI: return "musleabi";
case MuslEABIHF: return "musleabihf";
+ case MuslX32: return "muslx32";
case Simulator: return "simulator";
}
@@ -281,6 +285,7 @@ Triple::ArchType Triple::getArchTypeForLLVMName(StringRef Name) {
.Case("armeb", armeb)
.Case("avr", avr)
.StartsWith("bpf", BPFArch)
+ .Case("m68k", m68k)
.Case("mips", mips)
.Case("mipsel", mipsel)
.Case("mips64", mips64)
@@ -419,6 +424,7 @@ static Triple::ArchType parseArch(StringRef ArchName) {
.Case("thumb", Triple::thumb)
.Case("thumbeb", Triple::thumbeb)
.Case("avr", Triple::avr)
+ .Case("m68k", Triple::m68k)
.Case("msp430", Triple::msp430)
.Cases("mips", "mipseb", "mipsallegrex", "mipsisa32r6",
"mipsr6", Triple::mips)
@@ -479,6 +485,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
.Case("apple", Triple::Apple)
.Case("pc", Triple::PC)
.Case("scei", Triple::SCEI)
+ .Case("sie", Triple::SCEI)
.Case("fsl", Triple::Freescale)
.Case("ibm", Triple::IBM)
.Case("img", Triple::ImaginationTechnologies)
@@ -549,6 +556,7 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
.StartsWith("android", Triple::Android)
.StartsWith("musleabihf", Triple::MuslEABIHF)
.StartsWith("musleabi", Triple::MuslEABI)
+ .StartsWith("muslx32", Triple::MuslX32)
.StartsWith("musl", Triple::Musl)
.StartsWith("msvc", Triple::MSVC)
.StartsWith("itanium", Triple::Itanium)
@@ -703,6 +711,7 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) {
case Triple::lanai:
case Triple::le32:
case Triple::le64:
+ case Triple::m68k:
case Triple::mips64:
case Triple::mips64el:
case Triple::mips:
@@ -1276,6 +1285,7 @@ static unsigned getArchPointerBitWidth(llvm::Triple::ArchType Arch) {
case llvm::Triple::kalimba:
case llvm::Triple::lanai:
case llvm::Triple::le32:
+ case llvm::Triple::m68k:
case llvm::Triple::mips:
case llvm::Triple::mipsel:
case llvm::Triple::nvptx:
@@ -1360,6 +1370,7 @@ Triple Triple::get32BitArchVariant() const {
case Triple::kalimba:
case Triple::lanai:
case Triple::le32:
+ case Triple::m68k:
case Triple::mips:
case Triple::mipsel:
case Triple::nvptx:
@@ -1412,6 +1423,7 @@ Triple Triple::get64BitArchVariant() const {
case Triple::hexagon:
case Triple::kalimba:
case Triple::lanai:
+ case Triple::m68k:
case Triple::msp430:
case Triple::r600:
case Triple::shave:
@@ -1536,6 +1548,7 @@ Triple Triple::getLittleEndianArchVariant() const {
case Triple::lanai:
case Triple::sparcv9:
case Triple::systemz:
+ case Triple::m68k:
// ARM is intentionally unsupported here, changing the architecture would
// drop any arch suffixes.
@@ -1698,10 +1711,14 @@ StringRef Triple::getARMCPUForArch(StringRef MArch) const {
case llvm::Triple::NetBSD:
if (!MArch.empty() && MArch == "v6")
return "arm1176jzf-s";
+ if (!MArch.empty() && MArch == "v7")
+ return "cortex-a8";
break;
case llvm::Triple::Win32:
// FIXME: this is invalid for WindowsCE
- return "cortex-a9";
+ if (ARM::parseArchVersion(MArch) <= 7)
+ return "cortex-a9";
+ break;
case llvm::Triple::IOS:
case llvm::Triple::MacOSX:
case llvm::Triple::TvOS: