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; 13 14 namespace llvm { 15 Target TheAArch64leTarget; 16 Target TheAArch64beTarget; 17 Target TheARM64leTarget; 18 Target TheARM64beTarget; 19 } // end namespace llvm 20 21 extern "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