LLVM  3.7.0
AArch64TargetInfo.cpp
Go to the documentation of this file.
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"
12 using namespace llvm;
13 
14 namespace llvm {
18 } // end namespace llvm
19 
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.
24  "ARM64 (little endian)",
25  [](Triple::ArchType) { return false; }, true);
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 }
RegisterTarget - Helper template for registering a target, for use in the target's initialization fun...
static void RegisterTarget(Target &T, const char *Name, const char *ShortDesc, Target::ArchMatchFnTy ArchMatchFn, bool HasJIT=false)
RegisterTarget - Register the given target.
Target TheARM64Target
Target TheAArch64leTarget
Target TheAArch64beTarget
void LLVMInitializeAArch64TargetInfo()
Target - Wrapper for Target specific information.