/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
Line | Count | Source |
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 | 673k | Target &llvm::getTheARMLETarget() { |
15 | 673k | static Target TheARMLETarget; |
16 | 673k | return TheARMLETarget; |
17 | 673k | } |
18 | 673k | Target &llvm::getTheARMBETarget() { |
19 | 673k | static Target TheARMBETarget; |
20 | 673k | return TheARMBETarget; |
21 | 673k | } |
22 | 673k | Target &llvm::getTheThumbLETarget() { |
23 | 673k | static Target TheThumbLETarget; |
24 | 673k | return TheThumbLETarget; |
25 | 673k | } |
26 | 673k | Target &llvm::getTheThumbBETarget() { |
27 | 673k | static Target TheThumbBETarget; |
28 | 673k | return TheThumbBETarget; |
29 | 673k | } |
30 | | |
31 | 132k | extern "C" void LLVMInitializeARMTargetInfo() { |
32 | 132k | RegisterTarget<Triple::arm, /*HasJIT=*/true> X(getTheARMLETarget(), "arm", |
33 | 132k | "ARM"); |
34 | 132k | RegisterTarget<Triple::armeb, /*HasJIT=*/true> Y(getTheARMBETarget(), "armeb", |
35 | 132k | "ARM (big endian)"); |
36 | 132k | |
37 | 132k | RegisterTarget<Triple::thumb, /*HasJIT=*/true> A(getTheThumbLETarget(), |
38 | 132k | "thumb", "Thumb"); |
39 | 132k | RegisterTarget<Triple::thumbeb, /*HasJIT=*/true> B( |
40 | 132k | getTheThumbBETarget(), "thumbeb", "Thumb (big endian)"); |
41 | 132k | } |