blob: df73554372d8c558281ebd55cf5f026dbb2c0549 [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"
Chandler Carruth9fb823b2013-01-02 11:36:10 +000011#include "llvm/IR/Module.h"
Evan Cheng2bb40352011-08-24 18:08:43 +000012#include "llvm/Support/TargetRegistry.h"
Daniel Dunbar56e29472009-07-15 06:35:19 +000013using namespace llvm;
14
Christian Pirkerdc9ff752014-04-01 15:19:30 +000015Target llvm::TheARMLETarget, llvm::TheARMBETarget;
16Target llvm::TheThumbLETarget, llvm::TheThumbBETarget;
Daniel Dunbar56e29472009-07-15 06:35:19 +000017
Douglas Katzman03dfca02015-05-12 19:42:31 +000018extern "C" void LLVMInitializeARMTargetInfo() {
Daniel Dunbaree01b242009-07-26 05:03:33 +000019 RegisterTarget<Triple::arm, /*HasJIT=*/true>
Christian Pirkerdc9ff752014-04-01 15:19:30 +000020 X(TheARMLETarget, "arm", "ARM");
Christian Pirker2a111602014-03-28 14:35:30 +000021 RegisterTarget<Triple::armeb, /*HasJIT=*/true>
Christian Pirkerdc9ff752014-04-01 15:19:30 +000022 Y(TheARMBETarget, "armeb", "ARM (big endian)");
Daniel Dunbar56e29472009-07-15 06:35:19 +000023
Daniel Dunbaree01b242009-07-26 05:03:33 +000024 RegisterTarget<Triple::thumb, /*HasJIT=*/true>
Christian Pirkerdc9ff752014-04-01 15:19:30 +000025 A(TheThumbLETarget, "thumb", "Thumb");
Christian Pirker2a111602014-03-28 14:35:30 +000026 RegisterTarget<Triple::thumbeb, /*HasJIT=*/true>
Christian Pirkerdc9ff752014-04-01 15:19:30 +000027 B(TheThumbBETarget, "thumbeb", "Thumb (big endian)");
Daniel Dunbar56e29472009-07-15 06:35:19 +000028}