diff options
author | Pete Couperus <petecoup@synopsys.com> | 2017-08-24 15:40:33 +0000 |
---|---|---|
committer | Pete Couperus <petecoup@synopsys.com> | 2017-08-24 15:40:33 +0000 |
commit | 2d1f6d67c56e56a33ec8f49d584d2352d33a4081 (patch) | |
tree | 162897c05802dd0219a882da43ffdd4a39574b4b /llvm/lib/Support/Triple.cpp | |
parent | 719f97cf65db83a0bfd72b7e5ce91300314d24bc (diff) | |
download | bcm5719-llvm-2d1f6d67c56e56a33ec8f49d584d2352d33a4081.tar.gz bcm5719-llvm-2d1f6d67c56e56a33ec8f49d584d2352d33a4081.zip |
[ARC] Add ARC backend.
Add the ARC backend as an experimental target to lib/Target.
Reviewed at: https://reviews.llvm.org/D36331
llvm-svn: 311667
Diffstat (limited to 'llvm/lib/Support/Triple.cpp')
-rw-r--r-- | llvm/lib/Support/Triple.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp index b2d2d43e400..73dc59ce41b 100644 --- a/llvm/lib/Support/Triple.cpp +++ b/llvm/lib/Support/Triple.cpp @@ -25,6 +25,7 @@ StringRef Triple::getArchTypeName(ArchType Kind) { case aarch64_be: return "aarch64_be"; case arm: return "arm"; case armeb: return "armeb"; + case arc: return "arc"; case avr: return "avr"; case bpfel: return "bpfel"; case bpfeb: return "bpfeb"; @@ -83,6 +84,8 @@ StringRef Triple::getArchTypePrefix(ArchType Kind) { case aarch64: case aarch64_be: return "aarch64"; + case arc: return "arc"; + case arm: case armeb: case thumb: @@ -255,6 +258,7 @@ Triple::ArchType Triple::getArchTypeForLLVMName(StringRef Name) { return StringSwitch<Triple::ArchType>(Name) .Case("aarch64", aarch64) .Case("aarch64_be", aarch64_be) + .Case("arc", arc) .Case("arm64", aarch64) // "arm64" is an alias for "aarch64" .Case("arm", arm) .Case("armeb", armeb) @@ -384,6 +388,7 @@ static Triple::ArchType parseArch(StringRef ArchName) { .Case("xscaleeb", Triple::armeb) .Case("aarch64", Triple::aarch64) .Case("aarch64_be", Triple::aarch64_be) + .Case("arc", Triple::arc) .Case("arm64", Triple::aarch64) .Case("arm", Triple::arm) .Case("armeb", Triple::armeb) @@ -620,6 +625,7 @@ static Triple::ObjectFormatType getDefaultFormat(const Triple &T) { return Triple::ELF; case Triple::aarch64_be: + case Triple::arc: case Triple::amdgcn: case Triple::amdil: case Triple::amdil64: @@ -1173,6 +1179,7 @@ static unsigned getArchPointerBitWidth(llvm::Triple::ArchType Arch) { case llvm::Triple::msp430: return 16; + case llvm::Triple::arc: case llvm::Triple::arm: case llvm::Triple::armeb: case llvm::Triple::hexagon: @@ -1256,6 +1263,7 @@ Triple Triple::get32BitArchVariant() const { case Triple::amdil: case Triple::hsail: case Triple::spir: + case Triple::arc: case Triple::arm: case Triple::armeb: case Triple::hexagon: @@ -1306,6 +1314,7 @@ Triple Triple::get64BitArchVariant() const { Triple T(*this); switch (getArch()) { case Triple::UnknownArch: + case Triple::arc: case Triple::avr: case Triple::hexagon: case Triple::kalimba: |