//===-- ARMTargetInfo.cpp - ARM Target Implementation ---------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "TargetInfo/ARMTargetInfo.h" #include "llvm/Support/TargetRegistry.h" using namespace llvm; Target &llvm::getTheARMLETarget() { static Target TheARMLETarget; return TheARMLETarget; } Target &llvm::getTheARMBETarget() { static Target TheARMBETarget; return TheARMBETarget; } Target &llvm::getTheThumbLETarget() { static Target TheThumbLETarget; return TheThumbLETarget; } Target &llvm::getTheThumbBETarget() { static Target TheThumbBETarget; return TheThumbBETarget; } extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeARMTargetInfo() { RegisterTarget<Triple::arm, /*HasJIT=*/true> X(getTheARMLETarget(), "arm", "ARM", "ARM"); RegisterTarget<Triple::armeb, /*HasJIT=*/true> Y(getTheARMBETarget(), "armeb", "ARM (big endian)", "ARM"); RegisterTarget<Triple::thumb, /*HasJIT=*/true> A(getTheThumbLETarget(), "thumb", "Thumb", "ARM"); RegisterTarget<Triple::thumbeb, /*HasJIT=*/true> B( getTheThumbBETarget(), "thumbeb", "Thumb (big endian)", "ARM"); } |