blob: b0491a4108a62eb7b0683838b123ead008d0f9bf [file] [log] [blame]
Daniel Dunbar56e29472009-07-15 06:35:19 +00001//===-- 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
Craig Toppera9253262014-03-22 23:51:00 +000010#include "MCTargetDesc/ARMMCTargetDesc.h"
Evan Cheng2bb40352011-08-24 18:08:43 +000011#include "llvm/Support/TargetRegistry.h"
Daniel Dunbar56e29472009-07-15 06:35:19 +000012using namespace llvm;
13
Mehdi Aminif42454b2016-10-09 23:00:34 +000014Target &llvm::getTheARMLETarget() {
15 static Target TheARMLETarget;
16 return TheARMLETarget;
17}
18Target &llvm::getTheARMBETarget() {
19 static Target TheARMBETarget;
20 return TheARMBETarget;
21}
22Target &llvm::getTheThumbLETarget() {
23 static Target TheThumbLETarget;
24 return TheThumbLETarget;
25}
26Target &llvm::getTheThumbBETarget() {
27 static Target TheThumbBETarget;
28 return TheThumbBETarget;
29}
Daniel Dunbar56e29472009-07-15 06:35:19 +000030
Douglas Katzman03dfca02015-05-12 19:42:31 +000031extern "C" void LLVMInitializeARMTargetInfo() {
Mehdi Aminif42454b2016-10-09 23:00:34 +000032 RegisterTarget<Triple::arm, /*HasJIT=*/true> X(getTheARMLETarget(), "arm",
Daniel Sanders725584e2017-11-15 23:55:44 +000033 "ARM", "ARM");
Mehdi Aminif42454b2016-10-09 23:00:34 +000034 RegisterTarget<Triple::armeb, /*HasJIT=*/true> Y(getTheARMBETarget(), "armeb",
Daniel Sanders725584e2017-11-15 23:55:44 +000035 "ARM (big endian)", "ARM");
Daniel Dunbar56e29472009-07-15 06:35:19 +000036
Mehdi Aminif42454b2016-10-09 23:00:34 +000037 RegisterTarget<Triple::thumb, /*HasJIT=*/true> A(getTheThumbLETarget(),
Daniel Sanders725584e2017-11-15 23:55:44 +000038 "thumb", "Thumb", "ARM");
Mehdi Aminif42454b2016-10-09 23:00:34 +000039 RegisterTarget<Triple::thumbeb, /*HasJIT=*/true> B(
Daniel Sanders725584e2017-11-15 23:55:44 +000040 getTheThumbBETarget(), "thumbeb", "Thumb (big endian)", "ARM");
Daniel Dunbar56e29472009-07-15 06:35:19 +000041}