/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
Line | Count | Source |
1 | | //===-- AArch64TargetInfo.cpp - AArch64 Target Implementation -----------------===// |
2 | | // |
3 | | // The LLVM Compiler Infrastructure |
4 | | // |
5 | | // This file is distributed under the University of Illinois Open Source |
6 | | // License. See LICENSE.TXT for details. |
7 | | // |
8 | | //===----------------------------------------------------------------------===// |
9 | | |
10 | | #include "llvm/ADT/Triple.h" |
11 | | #include "llvm/Support/TargetRegistry.h" |
12 | | using namespace llvm_ks; |
13 | | |
14 | | namespace llvm_ks { |
15 | | Target TheAArch64leTarget; |
16 | | Target TheAArch64beTarget; |
17 | | Target TheARM64Target; |
18 | | } // end namespace llvm_ks |
19 | | |
20 | 25 | extern "C" void LLVMInitializeAArch64TargetInfo() { |
21 | | // Now register the "arm64" name for use with "-march". We don't want it to |
22 | | // take possession of the Triple::aarch64 tag though. |
23 | 25 | TargetRegistry::RegisterTarget(TheARM64Target, "arm64", |
24 | 25 | "ARM64 (little endian)", |
25 | 131k | [](Triple::ArchType) { return false; }); |
26 | | |
27 | 25 | RegisterTarget<Triple::aarch64> Z( |
28 | 25 | TheAArch64leTarget, "aarch64", "AArch64 (little endian)"); |
29 | 25 | RegisterTarget<Triple::aarch64_be> W( |
30 | 25 | TheAArch64beTarget, "aarch64_be", "AArch64 (big endian)"); |
31 | | |
32 | 25 | } |