summaryrefslogtreecommitdiff
path: root/lib/Support
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Support')
-rw-r--r--lib/Support/Triple.cpp26
-rw-r--r--lib/Support/Unix/Host.inc40
-rw-r--r--lib/Support/Windows/Host.inc40
3 files changed, 101 insertions, 5 deletions
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
index 7c02ffb4ac..9e497a0f63 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)
diff --git a/lib/Support/Unix/Host.inc b/lib/Support/Unix/Host.inc
index 726e2fbcf0..28828eb83c 100644
--- a/lib/Support/Unix/Host.inc
+++ b/lib/Support/Unix/Host.inc
@@ -61,3 +61,43 @@ std::string sys::getDefaultTargetTriple() {
return Triple;
}
+
+std::string sys::getDefaultTargetCpu() {
+ return LLVM_DEFAULT_TARGET_MCPU;
+}
+
+bool sys::hasDefaultTargetCpu() {
+ return getDefaultTargetCpu() != "";
+}
+
+std::string sys::getDefaultTargetFloat() {
+ return LLVM_DEFAULT_TARGET_FLOAT;
+}
+
+bool sys::hasDefaultTargetFloat() {
+ return getDefaultTargetFloat() != "";
+}
+
+std::string sys::getDefaultTargetFpu() {
+ return LLVM_DEFAULT_TARGET_FPU;
+}
+
+bool sys::hasDefaultTargetFpu() {
+ return getDefaultTargetFpu() != "";
+}
+
+std::string sys::getDefaultTargetHashStyle() {
+ return LLVM_DEFAULT_TARGET_HASHSTYLE;
+}
+
+bool sys::hasDefaultTargetHashStyle() {
+ return getDefaultTargetHashStyle() != "";
+}
+
+std::string sys::getDefaultTargetAbi() {
+ return LLVM_DEFAULT_TARGET_ABI;
+}
+
+bool sys::hasDefaultTargetAbi() {
+ return getDefaultTargetAbi() != "";
+}
diff --git a/lib/Support/Windows/Host.inc b/lib/Support/Windows/Host.inc
index 2e6d6f1903..1933bf7e87 100644
--- a/lib/Support/Windows/Host.inc
+++ b/lib/Support/Windows/Host.inc
@@ -20,3 +20,43 @@ using namespace llvm;
std::string sys::getDefaultTargetTriple() {
return LLVM_DEFAULT_TARGET_TRIPLE;
}
+
+std::string sys::getDefaultTargetCpu() {
+ return LLVM_DEFAULT_TARGET_MCPU;
+}
+
+bool sys::hasDefaultTargetCpu() {
+ return getDefaultTargetCpu() != "";
+}
+
+std::string sys::getDefaultTargetFloat() {
+ return LLVM_DEFAULT_TARGET_FLOAT;
+}
+
+bool sys::hasDefaultTargetFloat() {
+ return getDefaultTargetFloat() != "";
+}
+
+std::string sys::getDefaultTargetFpu() {
+ return LLVM_DEFAULT_TARGET_FPU;
+}
+
+bool sys::hasDefaultTargetFpu() {
+ return getDefaultTargetFpu() != "";
+}
+
+std::string sys::getDefaultTargetHashStyle() {
+ return LLVM_DEFAULT_TARGET_HASHSTYLE;
+}
+
+bool sys::hasDefaultTargetHashStyle() {
+ return getDefaultTargetHashStyle() != "";
+}
+
+std::string sys::getDefaultTargetAbi() {
+ return LLVM_DEFAULT_TARGET_ABI;
+}
+
+bool sys::hasDefaultTargetAbi() {
+ return getDefaultTargetAbi() != "";
+}