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/IR/Module.h" 12 #include "llvm/Support/TargetRegistry.h" 13 using namespace llvm; 14 15 Target llvm::TheARMLETarget, llvm::TheARMBETarget; 16 Target llvm::TheThumbLETarget, llvm::TheThumbBETarget; 17 18 extern "C" void LLVMInitializeARMTargetInfo() { 19 RegisterTarget<Triple::arm, /*HasJIT=*/true> 20 X(TheARMLETarget, "arm", "ARM"); 21 RegisterTarget<Triple::armeb, /*HasJIT=*/true> 22 Y(TheARMBETarget, "armeb", "ARM (big endian)"); 23 24 RegisterTarget<Triple::thumb, /*HasJIT=*/true> 25 A(TheThumbLETarget, "thumb", "Thumb"); 26 RegisterTarget<Triple::thumbeb, /*HasJIT=*/true> 27 B(TheThumbBETarget, "thumbeb", "Thumb (big endian)"); 28 } 29