1 //===-- SparcTargetInfo.cpp - Sparc 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 "Sparc.h" 11 #include "llvm/IR/Module.h" 12 #include "llvm/Support/TargetRegistry.h" 13 using namespace llvm; 14 15 Target &llvm::getTheSparcTarget() { 16 static Target TheSparcTarget; 17 return TheSparcTarget; 18 } 19 Target &llvm::getTheSparcV9Target() { 20 static Target TheSparcV9Target; 21 return TheSparcV9Target; 22 } 23 Target &llvm::getTheSparcelTarget() { 24 static Target TheSparcelTarget; 25 return TheSparcelTarget; 26 } 27 28 extern "C" void LLVMInitializeSparcTargetInfo() { 29 RegisterTarget<Triple::sparc, /*HasJIT=*/true> X(getTheSparcTarget(), "sparc", 30 "Sparc", "Sparc"); 31 RegisterTarget<Triple::sparcv9, /*HasJIT=*/true> Y( 32 getTheSparcV9Target(), "sparcv9", "Sparc V9", "Sparc"); 33 RegisterTarget<Triple::sparcel, /*HasJIT=*/true> Z( 34 getTheSparcelTarget(), "sparcel", "Sparc LE", "Sparc"); 35 } 36