GNU tools require elfiamcu to take up the entire OS field, so, e.g.
i?86-*-linux-elfiamcu is not considered a legal triple.
Make us compatible.
Differential Revision: http://reviews.llvm.org/D14081
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251390
91177308-0d34-0410-b5e6-
96231b3b80d8
NVCL, // NVIDIA OpenCL
AMDHSA, // AMD HSA Runtime
PS4,
- LastOSType = PS4
+ ELFIAMCU,
+ LastOSType = ELFIAMCU
};
enum EnvironmentType {
UnknownEnvironment,
Cygnus,
AMDOpenCL,
CoreCLR,
- ELFIAMCU,
- LastEnvironmentType = ELFIAMCU
+ LastEnvironmentType = CoreCLR
};
enum ObjectFormatType {
UnknownObjectFormat,
return getOS() == Triple::Bitrig;
}
- bool isEnvironmentIAMCU() const {
- return getEnvironment() == Triple::ELFIAMCU;
+ bool isOSIAMCU() const {
+ return getOS() == Triple::ELFIAMCU;
}
bool isWindowsMSVCEnvironment() const {
case NVCL: return "nvcl";
case AMDHSA: return "amdhsa";
case PS4: return "ps4";
+ case ELFIAMCU: return "elfiamcu";
}
llvm_unreachable("Invalid OSType");
case Cygnus: return "cygnus";
case AMDOpenCL: return "amdopencl";
case CoreCLR: return "coreclr";
- case ELFIAMCU: return "elfiamcu";
}
llvm_unreachable("Invalid EnvironmentType!");
.StartsWith("nvcl", Triple::NVCL)
.StartsWith("amdhsa", Triple::AMDHSA)
.StartsWith("ps4", Triple::PS4)
+ .StartsWith("elfiamcu", Triple::ELFIAMCU)
.Default(Triple::UnknownOS);
}
.StartsWith("cygnus", Triple::Cygnus)
.StartsWith("amdopencl", Triple::AMDOpenCL)
.StartsWith("coreclr", Triple::CoreCLR)
- .StartsWith("elfiamcu", Triple::ELFIAMCU)
.Default(Triple::UnknownEnvironment);
}
bool isTargetNaCl() const { return TargetTriple.isOSNaCl(); }
bool isTargetNaCl32() const { return isTargetNaCl() && !is64Bit(); }
bool isTargetNaCl64() const { return isTargetNaCl() && is64Bit(); }
- bool isTargetMCU() const { return TargetTriple.isEnvironmentIAMCU(); }
+ bool isTargetMCU() const { return TargetTriple.isOSIAMCU(); }
bool isTargetWindowsMSVC() const {
return TargetTriple.isWindowsMSVCEnvironment();
-; RUN: llc < %s -mtriple=i686-pc-linux-elfiamcu | FileCheck %s
+; RUN: llc < %s -mtriple=i686-pc-elfiamcu | FileCheck %s
; CHECK-LABEL: test_lib_args:
; CHECK: movl %edx, %eax
EXPECT_EQ(Triple::Darwin, T.getOS());
EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
- T = Triple("i386-pc-linux-elfiamcu");
+ T = Triple("i386-pc-elfiamcu");
EXPECT_EQ(Triple::x86, T.getArch());
EXPECT_EQ(Triple::PC, T.getVendor());
- EXPECT_EQ(Triple::Linux, T.getOS());
- EXPECT_EQ(Triple::ELFIAMCU, T.getEnvironment());
+ EXPECT_EQ(Triple::ELFIAMCU, T.getOS());
+ EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
T = Triple("x86_64-pc-linux-gnu");
EXPECT_EQ(Triple::x86_64, T.getArch());