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"
12using namespace llvm;
13
14namespace llvm {
15Target TheAArch64leTarget;
16Target TheAArch64beTarget;
17Target TheARM64leTarget;
18Target TheARM64beTarget;
19} // end namespace llvm
20
21extern "C" void LLVMInitializeAArch64TargetInfo() {
22  RegisterTarget<Triple::arm64, /*HasJIT=*/true> X(TheARM64leTarget, "arm64",
23                                                   "AArch64 (little endian)");
24  RegisterTarget<Triple::arm64_be, /*HasJIT=*/true> Y(TheARM64beTarget, "arm64_be",
25                                                      "AArch64 (big endian)");
26
27  RegisterTarget<Triple::aarch64, /*HasJIT=*/true> Z(
28      TheAArch64leTarget, "aarch64", "AArch64 (little endian)");
29  RegisterTarget<Triple::aarch64_be, /*HasJIT=*/true> W(
30      TheAArch64beTarget, "aarch64_be", "AArch64 (big endian)");
31}
32