diff options
Diffstat (limited to 'llvm/lib/Support/Triple.cpp')
-rw-r--r-- | llvm/lib/Support/Triple.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp index a5a25d20400..639519ce6ec 100644 --- a/llvm/lib/Support/Triple.cpp +++ b/llvm/lib/Support/Triple.cpp @@ -22,6 +22,7 @@ StringRef Triple::getArchTypeName(ArchType Kind) { case aarch64: return "aarch64"; case aarch64_be: return "aarch64_be"; + case aarch64_32: return "aarch64_32"; case arm: return "arm"; case armeb: return "armeb"; case arc: return "arc"; @@ -80,7 +81,8 @@ StringRef Triple::getArchTypePrefix(ArchType Kind) { return StringRef(); case aarch64: - case aarch64_be: return "aarch64"; + case aarch64_be: + case aarch64_32: return "aarch64"; case arc: return "arc"; @@ -260,8 +262,10 @@ Triple::ArchType Triple::getArchTypeForLLVMName(StringRef Name) { return StringSwitch<Triple::ArchType>(Name) .Case("aarch64", aarch64) .Case("aarch64_be", aarch64_be) + .Case("aarch64_32", aarch64_32) .Case("arc", arc) .Case("arm64", aarch64) // "arm64" is an alias for "aarch64" + .Case("arm64_32", aarch64_32) .Case("arm", arm) .Case("armeb", armeb) .Case("avr", avr) @@ -389,8 +393,10 @@ static Triple::ArchType parseArch(StringRef ArchName) { .Case("xscaleeb", Triple::armeb) .Case("aarch64", Triple::aarch64) .Case("aarch64_be", Triple::aarch64_be) + .Case("aarch64_32", Triple::aarch64_32) .Case("arc", Triple::arc) .Case("arm64", Triple::aarch64) + .Case("arm64_32", Triple::aarch64_32) .Case("arm", Triple::arm) .Case("armeb", Triple::armeb) .Case("thumb", Triple::thumb) @@ -636,6 +642,7 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) { switch (T.getArch()) { case Triple::UnknownArch: case Triple::aarch64: + case Triple::aarch64_32: case Triple::arm: case Triple::thumb: case Triple::x86: @@ -1219,6 +1226,7 @@ static unsigned getArchPointerBitWidth(llvm::Triple::ArchType Arch) { case llvm::Triple::msp430: return 16; + case llvm::Triple::aarch64_32: case llvm::Triple::arc: case llvm::Triple::arm: case llvm::Triple::armeb: @@ -1299,6 +1307,7 @@ Triple Triple::get32BitArchVariant() const { T.setArch(UnknownArch); break; + case Triple::aarch64_32: case Triple::amdil: case Triple::hsail: case Triple::spir: @@ -1390,6 +1399,7 @@ Triple Triple::get64BitArchVariant() const { // Already 64-bit. break; + case Triple::aarch64_32: T.setArch(Triple::aarch64); break; case Triple::arm: T.setArch(Triple::aarch64); break; case Triple::armeb: T.setArch(Triple::aarch64_be); break; case Triple::le32: T.setArch(Triple::le64); break; @@ -1500,6 +1510,7 @@ Triple Triple::getLittleEndianArchVariant() const { bool Triple::isLittleEndian() const { switch (getArch()) { case Triple::aarch64: + case Triple::aarch64_32: case Triple::amdgcn: case Triple::amdil64: case Triple::amdil: |