blob: ab1c6beee4eb6a1dc5ad43434d4896ac045ea8e5 [file] [log] [blame]
Daniel Dunbar56e29472009-07-15 06:35:19 +00001//===-- 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
Daniel Dunbar67038c12009-07-18 23:03:22 +000010#include "Sparc.h"
Chandler Carruth9fb823b2013-01-02 11:36:10 +000011#include "llvm/IR/Module.h"
Evan Cheng2bb40352011-08-24 18:08:43 +000012#include "llvm/Support/TargetRegistry.h"
Daniel Dunbar56e29472009-07-15 06:35:19 +000013using namespace llvm;
14
Daniel Dunbar67038c12009-07-18 23:03:22 +000015Target llvm::TheSparcTarget;
Chris Lattner8228b112010-02-04 06:34:01 +000016Target llvm::TheSparcV9Target;
Douglas Katzman9160e782015-04-29 20:30:57 +000017Target llvm::TheSparcelTarget;
Daniel Dunbar56e29472009-07-15 06:35:19 +000018
Venkatraman Govindaraju2ea4c282013-10-08 07:15:22 +000019extern "C" void LLVMInitializeSparcTargetInfo() {
Douglas Katzman9160e782015-04-29 20:30:57 +000020 RegisterTarget<Triple::sparc, /*HasJIT=*/true> X(TheSparcTarget, "sparc",
21 "Sparc");
22 RegisterTarget<Triple::sparcv9, /*HasJIT=*/true> Y(TheSparcV9Target,
23 "sparcv9", "Sparc V9");
24 RegisterTarget<Triple::sparcel, /*HasJIT=*/true> Z(TheSparcelTarget,
25 "sparcel", "Sparc LE");
Daniel Dunbar56e29472009-07-15 06:35:19 +000026}