summaryrefslogtreecommitdiff
path: root/lib/Support/Triple.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Support/Triple.cpp')
-rw-r--r--lib/Support/Triple.cpp26
1 files changed, 21 insertions, 5 deletions
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
index 412e34ccc5..c9729b5412 100644
--- a/lib/Support/Triple.cpp
+++ b/lib/Support/Triple.cpp
@@ -160,10 +160,22 @@ Triple::ArchType Triple::getArchTypeForLLVMName(StringRef Name) {
return StringSwitch<Triple::ArchType>(Name)
.Case("aarch64", aarch64)
.Case("arm", arm)
+ .Case("armeb", arm)
+ .Case("armel", arm)
.Case("mips", mips)
.Case("mipsel", mipsel)
+ .Case("mipsisa32", mips)
+ .Case("mipsisa32el", mipsel)
+ .Case("mipsisa32r2", mips)
+ .Case("mipsisa32r2el", mipsel)
.Case("mips64", mips64)
.Case("mips64el", mips64el)
+ .Case("mipsisa64", mips64)
+ .Case("mipsisa64el", mips64el)
+ .Case("mipsisa64r2", mips64)
+ .Case("mipsisa64r2el", mips64el)
+ .Case("mips64octeon", mips64)
+ .Case("mips64octeonel", mips64el)
.Case("msp430", msp430)
.Case("ppc64", ppc64)
.Case("ppc32", ppc)
@@ -224,17 +236,17 @@ static Triple::ArchType parseArch(StringRef ArchName) {
.Cases("powerpc64", "ppu", Triple::ppc64)
.Case("mblaze", Triple::mblaze)
.Case("aarch64", Triple::aarch64)
- .Cases("arm", "xscale", Triple::arm)
+ .Cases("arm", "armeb", "armel", "xscale", Triple::arm)
// FIXME: It would be good to replace these with explicit names for all the
// various suffixes supported.
.StartsWith("armv", Triple::arm)
.Case("thumb", Triple::thumb)
.StartsWith("thumbv", Triple::thumb)
.Case("msp430", Triple::msp430)
- .Cases("mips", "mipseb", "mipsallegrex", Triple::mips)
- .Cases("mipsel", "mipsallegrexel", Triple::mipsel)
- .Cases("mips64", "mips64eb", Triple::mips64)
- .Case("mips64el", Triple::mips64el)
+ .Cases("mips", "mipseb", "mipsisa32", "mipsisa32r2", "mipsallegrex", Triple::mips)
+ .Cases("mipsel", "mipsisa32el", "mipsisa32r2el", "mipsallegrexel", Triple::mipsel)
+ .Cases("mips64", "mips64eb", "mipsisa64", "mipsisa64r2", "mips64octeon", Triple::mips64)
+ .Cases("mips64el", "mipsisa64el", "mipsisa64r2el", "mips64octeonel", Triple::mips64el)
.Case("r600", Triple::r600)
.Case("hexagon", Triple::hexagon)
.Case("s390x", Triple::systemz)
@@ -295,8 +307,12 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
.StartsWith("eabi", Triple::EABI)
.StartsWith("gnueabihf", Triple::GNUEABIHF)
.StartsWith("gnueabi", Triple::GNUEABI)
+ .StartsWith("uclibceabi", Triple::GNUEABI)
+ .StartsWith("musleabi", Triple::GNUEABI)
.StartsWith("gnux32", Triple::GNUX32)
.StartsWith("gnu", Triple::GNU)
+ .StartsWith("uclibc", Triple::GNU)
+ .StartsWith("musl", Triple::GNU)
.StartsWith("macho", Triple::MachO)
.StartsWith("android", Triple::Android)
.StartsWith("elf", Triple::ELF)