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