10b57cec5SDimitry Andric //===-- SparcTargetInfo.cpp - Sparc Target Implementation -----------------===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric
90b57cec5SDimitry Andric #include "TargetInfo/SparcTargetInfo.h"
10349cc55cSDimitry Andric #include "llvm/MC/TargetRegistry.h"
110b57cec5SDimitry Andric using namespace llvm;
120b57cec5SDimitry Andric
getTheSparcTarget()130b57cec5SDimitry Andric Target &llvm::getTheSparcTarget() {
140b57cec5SDimitry Andric static Target TheSparcTarget;
150b57cec5SDimitry Andric return TheSparcTarget;
160b57cec5SDimitry Andric }
getTheSparcV9Target()170b57cec5SDimitry Andric Target &llvm::getTheSparcV9Target() {
180b57cec5SDimitry Andric static Target TheSparcV9Target;
190b57cec5SDimitry Andric return TheSparcV9Target;
200b57cec5SDimitry Andric }
getTheSparcelTarget()210b57cec5SDimitry Andric Target &llvm::getTheSparcelTarget() {
220b57cec5SDimitry Andric static Target TheSparcelTarget;
230b57cec5SDimitry Andric return TheSparcelTarget;
240b57cec5SDimitry Andric }
250b57cec5SDimitry Andric
LLVMInitializeSparcTargetInfo()26480093f4SDimitry Andric extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeSparcTargetInfo() {
27*fcaf7f86SDimitry Andric RegisterTarget<Triple::sparc, /*HasJIT=*/false> X(getTheSparcTarget(),
28*fcaf7f86SDimitry Andric "sparc", "Sparc", "Sparc");
29*fcaf7f86SDimitry Andric RegisterTarget<Triple::sparcv9, /*HasJIT=*/false> Y(
300b57cec5SDimitry Andric getTheSparcV9Target(), "sparcv9", "Sparc V9", "Sparc");
31*fcaf7f86SDimitry Andric RegisterTarget<Triple::sparcel, /*HasJIT=*/false> Z(
320b57cec5SDimitry Andric getTheSparcelTarget(), "sparcel", "Sparc LE", "Sparc");
330b57cec5SDimitry Andric }
34