xref: /freebsd-src/contrib/llvm-project/llvm/lib/Target/LoongArch/TargetInfo/LoongArchTargetInfo.cpp (revision bdd1243df58e60e85101c09001d9812a789b6bc4)
181ad6265SDimitry Andric //===-- LoongArchTargetInfo.cpp - LoongArch Target Implementation ---------===//
281ad6265SDimitry Andric //
381ad6265SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
481ad6265SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
581ad6265SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
681ad6265SDimitry Andric //
781ad6265SDimitry Andric //===----------------------------------------------------------------------===//
881ad6265SDimitry Andric 
981ad6265SDimitry Andric #include "TargetInfo/LoongArchTargetInfo.h"
1081ad6265SDimitry Andric #include "llvm/MC/TargetRegistry.h"
1181ad6265SDimitry Andric using namespace llvm;
1281ad6265SDimitry Andric 
getTheLoongArch32Target()1381ad6265SDimitry Andric Target &llvm::getTheLoongArch32Target() {
1481ad6265SDimitry Andric   static Target TheLoongArch32Target;
1581ad6265SDimitry Andric   return TheLoongArch32Target;
1681ad6265SDimitry Andric }
1781ad6265SDimitry Andric 
getTheLoongArch64Target()1881ad6265SDimitry Andric Target &llvm::getTheLoongArch64Target() {
1981ad6265SDimitry Andric   static Target TheLoongArch64Target;
2081ad6265SDimitry Andric   return TheLoongArch64Target;
2181ad6265SDimitry Andric }
2281ad6265SDimitry Andric 
LLVMInitializeLoongArchTargetInfo()2381ad6265SDimitry Andric extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeLoongArchTargetInfo() {
2481ad6265SDimitry Andric   RegisterTarget<Triple::loongarch32, /*HasJIT=*/false> X(
2581ad6265SDimitry Andric       getTheLoongArch32Target(), "loongarch32", "32-bit LoongArch",
2681ad6265SDimitry Andric       "LoongArch");
27*bdd1243dSDimitry Andric   RegisterTarget<Triple::loongarch64, /*HasJIT=*/true> Y(
2881ad6265SDimitry Andric       getTheLoongArch64Target(), "loongarch64", "64-bit LoongArch",
2981ad6265SDimitry Andric       "LoongArch");
3081ad6265SDimitry Andric }
31