diff options
| author | Tim Northover <tnorthover@apple.com> | 2014-07-23 12:32:47 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2014-07-23 12:32:47 +0000 |
| commit | e19bed7d33f1e3083fe48edc7627f8b961848e3f (patch) | |
| tree | 941a3a2e3d878810d48fcd7cde0c3a173d390a1a /llvm/lib/Target | |
| parent | 54d8ee6d7b5843c7850e0c1f4ae702f1b810fb5c (diff) | |
| download | bcm5719-llvm-e19bed7d33f1e3083fe48edc7627f8b961848e3f.tar.gz bcm5719-llvm-e19bed7d33f1e3083fe48edc7627f8b961848e3f.zip | |
AArch64: remove arm64 triple enumerator.
Having both Triple::arm64 and Triple::aarch64 is extremely confusing, and
invites bugs where only one is checked. In reality, the only legitimate
difference between the two (arm64 usually means iOS) is also present in the OS
part of the triple and that's what should be checked.
We still parse the "arm64" triple, just canonicalise it to Triple::aarch64, so
there aren't any LLVM-side test changes.
llvm-svn: 213743
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp index 1763b40e2d4..02c5bb4a8c1 100644 --- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp +++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp @@ -66,7 +66,7 @@ const MCExpr *AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol( AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(StringRef TT) { Triple T(TT); - if (T.getArch() == Triple::arm64_be || T.getArch() == Triple::aarch64_be) + if (T.getArch() == Triple::aarch64_be) IsLittleEndian = false; // We prefer NEON instructions to be printed in the short form. diff --git a/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp b/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp index 3a382c165e7..94b34a541c3 100644 --- a/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp +++ b/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp @@ -19,13 +19,16 @@ Target TheARM64beTarget; } // end namespace llvm extern "C" void LLVMInitializeAArch64TargetInfo() { - RegisterTarget<Triple::arm64, /*HasJIT=*/true> X(TheARM64leTarget, "arm64", - "AArch64 (little endian)"); - RegisterTarget<Triple::arm64_be, /*HasJIT=*/true> Y(TheARM64beTarget, "arm64_be", - "AArch64 (big endian)"); + // Now register the "arm64" name for use with "-march". We don't want it to + // take possession of the Triple::aarch64 tag though. + RegisterTarget<Triple::UnknownArch, /*HasJIT=*/true> X( + TheARM64leTarget, "arm64", "ARM64 (little endian)"); + RegisterTarget<Triple::UnknownArch, /*HasJIT=*/true> Y( + TheARM64beTarget, "arm64_be", "ARM64 (big endian)"); RegisterTarget<Triple::aarch64, /*HasJIT=*/true> Z( TheAArch64leTarget, "aarch64", "AArch64 (little endian)"); RegisterTarget<Triple::aarch64_be, /*HasJIT=*/true> W( TheAArch64beTarget, "aarch64_be", "AArch64 (big endian)"); + } |

