Line data Source code
1 : //===-- ARMTargetInfo.cpp - ARM 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 "MCTargetDesc/ARMMCTargetDesc.h"
11 : #include "llvm/Support/TargetRegistry.h"
12 : using namespace llvm;
13 :
14 630944 : Target &llvm::getTheARMLETarget() {
15 630944 : static Target TheARMLETarget;
16 630944 : return TheARMLETarget;
17 : }
18 630944 : Target &llvm::getTheARMBETarget() {
19 630944 : static Target TheARMBETarget;
20 630944 : return TheARMBETarget;
21 : }
22 630944 : Target &llvm::getTheThumbLETarget() {
23 630944 : static Target TheThumbLETarget;
24 630944 : return TheThumbLETarget;
25 : }
26 630944 : Target &llvm::getTheThumbBETarget() {
27 630944 : static Target TheThumbBETarget;
28 630944 : return TheThumbBETarget;
29 : }
30 :
31 127876 : extern "C" void LLVMInitializeARMTargetInfo() {
32 : RegisterTarget<Triple::arm, /*HasJIT=*/true> X(getTheARMLETarget(), "arm",
33 127876 : "ARM", "ARM");
34 : RegisterTarget<Triple::armeb, /*HasJIT=*/true> Y(getTheARMBETarget(), "armeb",
35 127876 : "ARM (big endian)", "ARM");
36 :
37 : RegisterTarget<Triple::thumb, /*HasJIT=*/true> A(getTheThumbLETarget(),
38 127876 : "thumb", "Thumb", "ARM");
39 : RegisterTarget<Triple::thumbeb, /*HasJIT=*/true> B(
40 127876 : getTheThumbBETarget(), "thumbeb", "Thumb (big endian)", "ARM");
41 127876 : }
|