1*750ecec7SAkira Hatanaka //===-- MipsMCCodeEmitter.cpp - Convert Mips code to machine code ---------===//
2*750ecec7SAkira Hatanaka //
3*750ecec7SAkira Hatanaka //                     The LLVM Compiler Infrastructure
4*750ecec7SAkira Hatanaka //
5*750ecec7SAkira Hatanaka // This file is distributed under the University of Illinois Open Source
6*750ecec7SAkira Hatanaka // License. See LICENSE.TXT for details.
7*750ecec7SAkira Hatanaka //
8*750ecec7SAkira Hatanaka //===----------------------------------------------------------------------===//
9*750ecec7SAkira Hatanaka //
10*750ecec7SAkira Hatanaka // This file implements the MipsMCCodeEmitter class.
11*750ecec7SAkira Hatanaka //
12*750ecec7SAkira Hatanaka //===----------------------------------------------------------------------===//
13*750ecec7SAkira Hatanaka //
14*750ecec7SAkira Hatanaka #define DEBUG_TYPE "mccodeemitter"
15*750ecec7SAkira Hatanaka #include "llvm/MC/MCCodeEmitter.h"
16*750ecec7SAkira Hatanaka #include "llvm/MC/MCExpr.h"
17*750ecec7SAkira Hatanaka #include "llvm/MC/MCInst.h"
18*750ecec7SAkira Hatanaka #include "llvm/MC/MCInstrInfo.h"
19*750ecec7SAkira Hatanaka #include "llvm/MC/MCRegisterInfo.h"
20*750ecec7SAkira Hatanaka #include "llvm/MC/MCSubtargetInfo.h"
21*750ecec7SAkira Hatanaka #include "llvm/ADT/APFloat.h"
22*750ecec7SAkira Hatanaka #include "llvm/ADT/Statistic.h"
23*750ecec7SAkira Hatanaka #include "llvm/Support/raw_ostream.h"
24*750ecec7SAkira Hatanaka #include "MCTargetDesc/MipsMCTargetDesc.h"
25*750ecec7SAkira Hatanaka 
26*750ecec7SAkira Hatanaka using namespace llvm;
27*750ecec7SAkira Hatanaka 
28*750ecec7SAkira Hatanaka namespace {
29*750ecec7SAkira Hatanaka class MipsMCCodeEmitter : public MCCodeEmitter {
30*750ecec7SAkira Hatanaka   MipsMCCodeEmitter(const MipsMCCodeEmitter &); // DO NOT IMPLEMENT
31*750ecec7SAkira Hatanaka   void operator=(const MipsMCCodeEmitter &); // DO NOT IMPLEMENT
32*750ecec7SAkira Hatanaka   const MCInstrInfo &MCII;
33*750ecec7SAkira Hatanaka   const MCSubtargetInfo &STI;
34*750ecec7SAkira Hatanaka 
35*750ecec7SAkira Hatanaka public:
36*750ecec7SAkira Hatanaka   MipsMCCodeEmitter(const MCInstrInfo &mcii, const MCSubtargetInfo &sti,
37*750ecec7SAkira Hatanaka                     MCContext &ctx)
38*750ecec7SAkira Hatanaka     : MCII(mcii), STI(sti) {}
39*750ecec7SAkira Hatanaka 
40*750ecec7SAkira Hatanaka   ~MipsMCCodeEmitter() {}
41*750ecec7SAkira Hatanaka 
42*750ecec7SAkira Hatanaka   void EncodeInstruction(const MCInst &MI, raw_ostream &OS,
43*750ecec7SAkira Hatanaka                          SmallVectorImpl<MCFixup> &Fixups) const {
44*750ecec7SAkira Hatanaka   }
45*750ecec7SAkira Hatanaka }; // class MipsMCCodeEmitter
46*750ecec7SAkira Hatanaka }  // namespace
47*750ecec7SAkira Hatanaka 
48*750ecec7SAkira Hatanaka MCCodeEmitter *llvm::createMipsMCCodeEmitter(const MCInstrInfo &MCII,
49*750ecec7SAkira Hatanaka                                              const MCSubtargetInfo &STI,
50*750ecec7SAkira Hatanaka                                              MCContext &Ctx) {
51*750ecec7SAkira Hatanaka   return new MipsMCCodeEmitter(MCII, STI, Ctx);
52*750ecec7SAkira Hatanaka }
53