blob: 3615c146a5276078fe44bfdf68a896d9c1bf1cce [file] [log] [blame]
Jia Liu9f610112012-02-17 08:55:11 +00001//===-- MipsTargetInfo.cpp - Mips Target Implementation -------------------===//
Daniel Dunbar56e29472009-07-15 06:35:19 +00002//
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//
Akira Hatanakae2489122011-04-15 21:51:11 +00008//===----------------------------------------------------------------------===//
Daniel Dunbar56e29472009-07-15 06:35:19 +00009
Daniel Dunbar67038c12009-07-18 23:03:22 +000010#include "Mips.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 Dunbaree01b242009-07-26 05:03:33 +000015Target llvm::TheMipsTarget, llvm::TheMipselTarget;
Akira Hatanaka3d673cc2011-09-21 03:00:58 +000016Target llvm::TheMips64Target, llvm::TheMips64elTarget;
Daniel Dunbar56e29472009-07-15 06:35:19 +000017
Bruno Cardoso Lopesed874ef2011-03-04 17:51:39 +000018extern "C" void LLVMInitializeMipsTargetInfo() {
Bruno Cardoso Lopesd1d9c782011-07-21 16:28:51 +000019 RegisterTarget<Triple::mips,
20 /*HasJIT=*/true> X(TheMipsTarget, "mips", "Mips");
Daniel Dunbar56e29472009-07-15 06:35:19 +000021
Bruno Cardoso Lopesd1d9c782011-07-21 16:28:51 +000022 RegisterTarget<Triple::mipsel,
23 /*HasJIT=*/true> Y(TheMipselTarget, "mipsel", "Mipsel");
Akira Hatanaka3d673cc2011-09-21 03:00:58 +000024
25 RegisterTarget<Triple::mips64,
26 /*HasJIT=*/false> A(TheMips64Target, "mips64", "Mips64 [experimental]");
27
28 RegisterTarget<Triple::mips64el,
29 /*HasJIT=*/false> B(TheMips64elTarget,
30 "mips64el", "Mips64el [experimental]");
Daniel Dunbar56e29472009-07-15 06:35:19 +000031}