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 | 53355ce5747ab447f4484d72baeafa680798bd5c (patch) | |
tree | 7c3b96fead85f32f08df5b7dec9b6f3b7a355e67 /lib/Support/Triple.cpp | |
parent | f372a9f69aa7d1462ca4a4d3a29e50fc8b2b1c0f (diff) |
[ARC] Add ARC backend.
Add the ARC backend as an experimental target to lib/Target.
Reviewed at: https://reviews.llvm.org/D36331
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311667 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/Triple.cpp')
-rw-r--r-- | lib/Support/Triple.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp index b2d2d43e400..73dc59ce41b 100644 --- a/lib/Support/Triple.cpp +++ b/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: |